##abstract
abstract可以修饰成员方法和类。
abstract不能和final同时使用。
abstract不能修饰变量和构造器;
abstract不能修饰类方法,即不能和static放在一起。
abstract不能和private同时修饰。
抽象方法
[修饰符] abstract 方法名(...);
//抽象方法无方法体
//
###抽象类
[修饰符] abstract 类名{
//该类只能被继承,不能实例化【抽象类的构造器不能创建该类实例,】
//抽象类可以包含成员变量,方法(普通方法和抽象方法都可以),构造器,初始化块,内部类(接口、枚举)。
//抽象类不一定要有抽象方法
}
##final关键字
可以修饰变量、方法、类
final修饰变量
final修饰变量(常量)
该变量一旦被初始化就无法改变。
final 修饰方法
可以被继承
不可以重写但是可以重载
不能修饰构造函数
final 修饰类
该类不能被继承
final只能修饰非抽象类。