抽象类

抽象类的理解

被abstract class 定义的类称作抽象类。抽象类就是对类的抽象(包括方法和属性),接口只是对方法的抽象。强调"归属于",比如金鱼类和鲤鱼类可以抽象为鱼类,这时候鱼类就可以作为金鱼和鲤鱼两个实体类的抽象类。抽象类本质上还是一个类。

抽象类的构造方法

抽象类有构造方法,但是不能直接实例化对象,因为抽象类的构造方法无法给抽象方法和属性分配内存。抽象类的构造方法在其子类创建对象的时候调用。要想创建抽象类对象,可以通过抽象类的匿名内部类来创建。

抽象类的抽象方法

抽象类可以没有抽象方法,但是有抽象方法的类一定是抽象类。构造方法和类方法不能声明为抽象方法。 使用absract B(); 定义抽象方法,抽象方法没有方法体。

抽象类的子类

类是单继承的,继承了抽象类的子类不能再继承其他类。如果抽象类有抽象方法,子类必须重写父类抽象方法,否则要声明为抽象类。

总结

1、被abstract class声明的类一定是抽象类。
2、有抽象方法的类,一定要用abstract class声明,所以也一定是抽象类。

3、子类必须重写父类抽象方法,否则要声明为抽象类。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容