抽象类的特点:
1.抽象方法一定在抽象类中
2.抽象方法和抽象类都必须被abstract关键字修饰
3.抽象类不可以new创建对象,因为调用抽象方法没什么意义
4.抽象类中的抽象方法要被使用,必须由子类复写起所有的抽象方法后,建立子类对象调用,如果子类只复写了部分抽象方法,那么该子类还是一个抽象类
抽象类和一般的类没有什么大的不同
该如何描述事物,就如何描述 只不过,该事物出现一些看不懂的东西
这些不确定的部分,也是该事物的功能,需要明确出现,但是无法定义主体.通过抽象方法来表示
抽象类比一般类多了个抽象函数,就是在类中可以定义抽象方法.
抽象类不可以实例化
特殊:抽象类中可以不定义抽象方法,这样做仅仅是不让该类建立对象
模板方法?
在定义功能时,功能的一部分是确定的,但是有一部分是不确定的,而确定的部分在使用不确定的部分的时候,
那么这时就将不确定的部分暴露出去,由该类的子类去完成.
接口?
初期可以这样认为,比较形象,抽象类里面的方法全部都是抽象的,那么可以有一种表现形式,接口
接口定义时,格式特点:
常见定义方式:
常量:public static final
方法:public abstract
注意:接口中的成员都是public的
只要写了interface 里面成员都有固定修饰符 少写了是会补上的
接口是不可以创建对象的,因为有抽象方法,需要被子类实现,子类对接口中的抽象方法全都覆盖后,子类才可以实例化,否则子类是一个抽象类.
接口可以被类多实现
java虽然不支持多继承,但是用了另外一种方式来体现,也就是多实现.
接口之间可以继承也可以多继承
因为没有方法体就不冲突
java可以多继承 ,只有在接口和接口之间 在类和类之间不行
接口的特点?
用于扩展功能,暴露可以给他人的功能
接口是 程序的功能扩展
接口可以用来多实现
类与接口之间是实现关系,而且类可以继承一个类的同时实现多个接口
接口与接口之间可以有继承关系