static,abstract,final关键字使用
static
1.随类的加载而加载,存放于方法区。
2.优先于对象存在,对象要new才能产生,存放于堆。
3.被类的所有对象所共享
4.可以通过类名直接调用,也可以通过对象调用,而非静态只能通过对象调用。
5.非静态成员方法可以访问静态成员,静态方法不能访问非静态成员。
6.在静态方法中没有this关键字,因为this是随对象创建而存在的。
abstract
1、抽象类不能使用new来创建实例,只能当作父类被其他子类继承。
2、抽象方法不能有方法体,所以没有{},必须由子类重写。
3、含有抽象方法的类只能被定义成抽象类,但抽象类里可以没有抽象方法。
final修饰的类不能被继承、修饰的方法不能被重写,所以final和abstract不可以同时使用,同理,private和static也不能和abstract同时使用。
final
1、可以修饰类,方法,变量(成员变量和局部变量)
2、修饰类为终态类,不能被继承。
3、修饰方法,方法不能被重写。
4、修饰变量,变量只能被赋值一次,不能被重新赋值,其实就是一个常量。