abstract修饰符
1.用abstract修饰的类表示抽象类,抽象类位于继承树的抽象层,抽象类不能被实例化,即不允许创建
抽象类本身的实例。没有用abstract修饰的类称为具体类,具体类是可以被实例化的。
2.用abstract修饰的方法表示抽象方法,抽象方法没有方法体。抽象方法用来表述系统具有什么样的功能,
但是不提供具体的实现。没有用abstract修饰的方法称为具体方法,具体方法可以有方法体。
abstract修饰符特点:
1.抽象类中可以没有抽象方法,但是包含抽像方法的类必须被定义为抽象类。
2.没有抽象构造方法,也没有抽象的静态方法。static和abstract修饰符不能连用。
3.抽象类中可以有非抽象的构造方法,创建子类的实例是可能会调用这些构造方法。
4.抽象类不能被实例化。然而可以创建一个应用变量,其类型是一个抽象类,并让它引用抽象的子类的一个实例。
5.抽象类以及抽象方法不能被final修饰符修饰。
接口的特点:
1.接口中的成员变量默认都是public、static、final类型的,必须初始化。
2.接口中的方法默认都是public、abstract类型的
3.接口中只能包含public、static、final类型的成员变量和public、abstract类型的成员方法。
4.接口中没有构造方法,不能被实例化
5.一个接口不能实现另一个接口,但是它可以继承其他的接口。
6.接口必须通过类来实现它的抽象方法。
7.与子类继承抽象父类相识,当类实现了某个接口时,它必须去实现接口中所有的抽象方法,否则这个类必须被定义为抽象类。
8.一个类只能继承一个直接的父类,但能实现多个接口。