abstract:抽象的
1.可以用来修饰:类、方法
一、抽象类
1.此类不能实例化(不能new对象)
2.抽象类中一定有构造器,便于子类实例化实例化时调用。
3.抽象类的使用前提:继承性
二、抽象方法
1.抽象方法没有方法体
2.包含抽象方法的类,一定是一个抽象类。反之抽象类中可以没有抽象方法。
3.若子类重写父类中所有的抽象方法后,此类可以实例化
4.若子类没重写父类中的所有抽方法,则此子类也是一个抽象类,需使用abstract修饰。
三、注意点
1.abstract不能修饰:属性、构造器等
2.abstract不能修饰私有方法、静态方法、final的方法、final的类
interface:接口
1.接口和类是并列的关系
2.(jdk7)只能定义全局常量和抽象方法
3.(jdk8)能定义静态方法和默认方法
4.接口不能定义构造器,意味着不可以实例化
5.通过让类实现(implements)的方式使用
6.如果实现覆盖接口所有的抽象方法,则此实现类可以实例化。
7.如果实现类没有覆盖接口中所有的抽象方法,则此实现类仍为一个抽象类
注意点
1.类与类之间是继承关系并且是单继承(extends)
2.类与接口之间是实现的关系是多实现(implements)
3.接口与接口之间是多继承的关系(entends)
interface A{}
interface B{}
interface C extends A,B{}