abstract class AA{ public void tell(){}; } 请问这算是一个抽象类么
我实例化的时候提示AA是抽象的但是这个类没有抽象方法啊这个抽象类的定义不符合啊求高手解决我心中的疑问啊...
我实例化的时候 提示AA是抽象的 但是这个类没有抽象方法啊 这个抽象类的定义不符合啊 求高手解决我心中的疑问啊
展开
3个回答
展开全部
抽象类的定义:包含了抽象方法的类叫做抽象类。
抽象类具有的功能:抽象类不能被实例化,抽象类的中具有的抽象方法必须被子类实现。
其实在代码中,你只要定义了abstract关键字,那么它就是一个抽象类。这就跟车一样,你能认识那辆车是宝马,是因为它上面标了宝马的车徽,而不是它里面的配置跟宝马一样。车徽就是那个abstract关键字。
我们用抽象类是因为我们要使用它特有的功能,例如她不能被实例化,它能够容忍里面的方法部分实现部分被实现而不像接口不能实现任何的方法,所有的方法都必须定义为是接口。而不是去追究它到底是不是抽象类。不然就是本末倒致了
抽象类具有的功能:抽象类不能被实例化,抽象类的中具有的抽象方法必须被子类实现。
其实在代码中,你只要定义了abstract关键字,那么它就是一个抽象类。这就跟车一样,你能认识那辆车是宝马,是因为它上面标了宝马的车徽,而不是它里面的配置跟宝马一样。车徽就是那个abstract关键字。
我们用抽象类是因为我们要使用它特有的功能,例如她不能被实例化,它能够容忍里面的方法部分实现部分被实现而不像接口不能实现任何的方法,所有的方法都必须定义为是接口。而不是去追究它到底是不是抽象类。不然就是本末倒致了
展开全部
必须新建一个具体类继承这个抽象类,并把所有的抽象方法都实现。然后实例化这个具体类
如果这个抽象类没有抽象方法,而你又要用,就不要定义成抽象类了
如果这个抽象类没有抽象方法,而你又要用,就不要定义成抽象类了
追问
看到适配器设计模式的时候 用一个抽象类实现接口 在用子类继承抽象类
代码中的抽象类是没有抽象方法的 有点不解
追答
抽象类可以没有抽象方法
这种东西存在的意义就是,只是用于扩展。适配器模式也就是干这个的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
抽象类默认就会在方法名前加上abstract ,所以这个类绝对是抽象类
追问
抽象类的定义中不是说要有一个抽象方法么
追答
abstract class E{
public abstract void show();//public abstract 可以省略
}
缺省就是在方法前加上这个public abstract ,只要里面 有方法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询