一:this:用于指向对象
在普通的成员方法中:this总是指向调用该方法的对象。
在构造方法中:this总是指向正在初始化的对象。
二:static:表示静态的意思,修饰变量或者方法时表示该变量或者方法是从属于类的。
- 成员属性:成员变量和成员方法
- 是从属于对象的,每一个对象都单独保存一份。
- 普通成员属性存放的位置:堆内存中。
- 使用成员属性:对象.属性|方法();
- 静态属性(用static修饰的)
静态变量和静态方法 -----是从属于类的,每一个类只保存一份。静态属性存放的位置:方法区 (专门用于存放静态属性)。
使用静态属性:类名.属性|方法();
- 成员属性:是每一个对象所具有的独有的属性。
- 静态属性:是所有对象所有的共同的属性。
- 成员属性必须通过对象才能使用。静态属性直接通过类名就可以使用了。
- 成员方法中可以使用静态属性,但是在静态方法中不能使用成员属性
- this和static是相互矛盾的(不能同时出现)
三:super
- 作用:方便子类直接获取父类或者继承链上的资源。
- 对比this和super:
相同点:都是用于执行对象。
不同点:
- this:指向当前对象
- super:直接指向父类对象
- super的使用:
- 在子类中使用父类被覆盖的方法。(子类重写父类方法会覆盖父类的方法)
- 在子类中调用父类的构造器:
- 对比this和super调用构造器:
this:调用的是当前对象的重载的构造器;语法:this(参数); //构造器的第一行代码
super:调用父类的构造器;语法:super(参数); //构造器的第一行代码
四:final关键字:表示最终的意思。
- final关键字可以修饰类、方法和变量
- final修饰类时:表示类不能被继承
- final修饰方法时:表示方法不能被重写。
- final修饰变量:表示变量的值不能被更改(常量)