抽象类与抽象方法理解
2016-07-29 10:48
281 查看
抽象的概念
抽象有两种理解:
1.与具体相对,它表达的是一种概念而非实体。
2.与细节相对,它表达的是在一定程度上忽略细节而着眼大局。
抽象类与抽象方法
概念:
抽象类——表达概念而无法创建实体的类。
抽象方法——表达概念而无法实现具体代码的方法。
特征:
抽象类不能够创建实例对象,但可以声明变量为抽象类类型,并赋予null值或者将非抽象类实例付给该变量(必须为抽象类的子类)。
抽象类中可以没有抽象方法,但抽象方法必须包含在抽象类中。
继承抽象类的子类必须覆盖该抽象类中的所有方法,否则该子类也必须也是抽象类。
与接口比较:
如果说抽象类是一种抽象的其它类的模板,那么接口就是彻底抽象的且只含有抽象方法(jdk8中可以有默认方法)。
与抽象类相比,接口不能搞定的
抽象类能够定义非 static final 的属性(field)
,而接口不能。接口的属性都是static final的。
抽象类能够定义非public方法,而接口不能。接口的方法都是public的。
接口可以多继承(实现),而抽象类不能。抽象类只能单继承。
与接口相比,抽象类不能搞定的
抽象有两种理解:
1.与具体相对,它表达的是一种概念而非实体。
2.与细节相对,它表达的是在一定程度上忽略细节而着眼大局。
抽象类与抽象方法
概念:
抽象类——表达概念而无法创建实体的类。
抽象方法——表达概念而无法实现具体代码的方法。
特征:
抽象类不能够创建实例对象,但可以声明变量为抽象类类型,并赋予null值或者将非抽象类实例付给该变量(必须为抽象类的子类)。
抽象类中可以没有抽象方法,但抽象方法必须包含在抽象类中。
继承抽象类的子类必须覆盖该抽象类中的所有方法,否则该子类也必须也是抽象类。
与接口比较:
如果说抽象类是一种抽象的其它类的模板,那么接口就是彻底抽象的且只含有抽象方法(jdk8中可以有默认方法)。
与抽象类相比,接口不能搞定的
抽象类能够定义非 static final 的属性(field)
,而接口不能。接口的属性都是static final的。
抽象类能够定义非public方法,而接口不能。接口的方法都是public的。
接口可以多继承(实现),而抽象类不能。抽象类只能单继承。
与接口相比,抽象类不能搞定的
相关文章推荐
- 抽象类和抽象方法的初步理解和使用
- 如何理解抽象类和抽象方法
- [语法]全面理解抽象类(abstract class),抽象方法(abstract method),虚方法(virtual method),接口(interface)
- 我所理解的抽象类和抽象方法
- 深入理解Java的接口和抽象类
- 接口和抽象类的个人理解
- JAVA中几个易混淆关键词的理解:行为,隐藏,组合和继承,覆写和重载,多形(多态)性,动态绑定,上溯造型,抽象类,接口
- 深入理解Java的接口和抽象类
- 深入理解Java的接口和抽象类
- 深入理解Java的接口和抽象类
- Java学习:抽象类,抽象方法
- 【JAVA】抽象类,抽象方法
- 抽象类与抽象方法的使用
- PHP入门教程之面向对象的特性分析(继承,多态,接口,抽象类,抽象方法等)
- 深入理解Java的接口和抽象类
- 抽象类、抽象方法和内部类
- 浅谈 Java 关于接口与抽象类的理解(后续更新)
- abstract 抽象类与抽象方法
- 深入理解Java的接口和抽象类
- C#之抽象类和抽象方法