抽象类的特点
接口也是一种“引用数据类型”。编译之后也是一个class字节码文件。
抽象类与接口
抽象类关联到一个概念:抽象方法。什么是抽象方法呢?抽象方法表示没有实现的方法,没有方法体的方法。例如:publicabstractvoiddoSome();
抽象类怎么定义?
注意:抽象类中不一定有抽象方法,抽象方法必须出现在抽象类中。
接口的特点
抽象类是半抽象的。接口是完全抽象的。抽象类中有构造方法。接口中没有构造方法。接口和接口之间支持多继承。类和类之间只能单继承。一个类可以同时实现多个接口。一个抽象类只能继承一个类。接口中只允许出现常量和抽象方法。
什么是抽象类?
继承和实现的同时使用
语法:[修饰符列表]abstractclass类名{类体;}
面向接口编程,可以降低程序的耦合度,提高程序的扩展力。符合OCP开发原则。接口的使用离不开多态机制。
抽象类与抽象方法
接口
接口是什么数据类型?
面试题:java语言中凡是没有方法体的方法都是抽象方法。
类型和类型之间的关系
什么是接口?
接口怎么定义,语法是什么?
final修饰的类无法继承。final修饰的方法无法覆盖。final修饰的变量只能赋一次值。final修饰的引用一旦指向某个对象,则不能再重新指向其它对象,但该引用指向的对象内部的数据是可以修改的。final修饰的实例变量必须手动初始化,不能采用系统默认值。final修饰的实例变量一般和static联合使用,称为常量。publicstaticfinaldoublePI=1415926;
接口支持多继承),一个接口可以继承多个接口。接口中只包含两部分内容,一部分是:常量。一部分是:抽象方法。接口中没有其它内容了。只有以上两部分。接口中所有的元素都是public修饰的。接口中的抽象方法定义时:publicabstract修饰符可以省略。接口中的方法都是抽象方法,所以接口中的方法不能有方法体。接口中的常量的publicstaticfinal可以省略。
抽象方法特点
什么是抽象方法?
抽象类也属于引用数据类型。
类和类之间具有共同特征,将这些共同特征提取出来,形成的就是抽象类。类本身是不存在的,所以抽象类无法创建对象。
isa:CatisaAnimal凡是能够满足isa的表示“继承关系”AextendsB
特点没有方法体,以分号结尾。特点前面修饰符列表中有abstract关键字。
抽象类属于什么类型?
接口的作用
[修饰符列表]interface接口名{}
不对,错误的。Object类中就有很多方法都没有方法体,都是以“;”结尾的,但他们都不是抽象方法,例如:publicnativeinthashCode();这个方法底层调用了C++写的动态链接库程序。前面修饰符列表中没有:abstract。有一个native。表示调用JVM本地程序。
接口是完全抽象的。或者也可以说接口是特殊的抽象类。
解耦合
抽象类是无法实例化的,无法创建对象的,所以抽象类是用来被子类继承的。final和abstract不能联合使用,这两个关键字是对立的。抽象类的子类可以是抽象类。也可以是非抽象类。抽象类虽然无法实例化,但是抽象类有构造方法,这个构造方法是供子类使用的。
isa、hasa、likea
hasa:IhasaPen凡是能够满足hasa关系的表示“关联关系”,关联关系通常以“属性”的形式存在。A{Bb;}likea:CookerlikeaFoodMenu一样)凡是能够满足likea关系的表示“实现关系”,实现关系通常是:类实现接口。AimplementsB
重点:一个非抽象的类,继承抽象类,必须将抽象类中的抽象方法进行覆盖/重写/实现。
文章为作者独立观点,不代表股票交易接口观点