1.final、static和抽象类的比较:
final类:
(1)不可以被继承,但可以实例化对象。
(2)final不能修饰构造方法。以及代码块。
(3)final类和static一起使用效率更高。底层编译器做了优化处理。
(4)final用于类、类中属性、局部变量、类中方法。
抽象类:
(1)不可被实例化。
(2)abstract只能修饰类和方法,不能修饰其他。
(3)abstract不能与final,static,private一起修饰。
static:
(1)类变量和类方法。即不能用于构造器修饰,是来修饰变量和方法的。但能用于代码块。代码块本质也是方法。
(2)静态方法的重写跟普通方法的重写一样。
(3)类方法中不允许使用与对象有关的关键字,如this,super。