this、super、final和static关键字的定义和注意事项

1、this关键字
(1)成员变量和局部变量同名
可以在成员变量名前面加上this.来区别成员变量和局部变量
(2)调用构造方法
在构造方法中调用本类的其他构造方法this()【根据参数列表区分】
必须放在本构造方法的第一行
(3)this应用
2、super关键字
(1)子父类中构造方法的调用
隐式语句:super(); 【默认】
调用父类中的有参数构造方法:super(实参列表);
子类会继承父类中的内容,所以子类在初始化时,必须先到父类中去执行父类的初始化动作。
当父类中没有空参数构造方法时,子类的构造方法必须有显示的super语句,指定要访问的父类有参数构造方法。
(2)子类对象创建过程的细节
只要是构造方法默认第一行都是super();
如果第一行调用了this()构造方法,显示的super()语句可以间接调用。
(3)super应用
3、final关键字
(1)final修饰的类不能被继承,但可以继承其他类
(2)final修饰的成员方法不能重写,但是不修饰的重写的可以加final修饰
(3)被final修饰的成员变量没有系统默认初始值,需要在创建对象前赋值,否则报错.
(4)被final修饰的局部变量是常量,不能改变,如果是引用数据类型,可以对其属性进行修改。
4、static关键字
(1)被static修饰的成员变量属于类,不属于这个类的某个对象【清华大学】
(2)静态成员只能调用静态成员,不能调用非静态成员,非静态成员可以调用静态成员。
(3)不能使用this/super【this、super属于对象,而静态属于类】
(4)定义静态常量:public static final修饰变量

原文地址:https://www.cnblogs.com/time-to-despair/p/9700000.html