目录
final
1.概念:
- 是java提供的一个关键字
- final是最终的意思
- final可以修饰类,方法,成员变量
- 初衷:java出现继承后,子类可以更改父类的功能,当父类功能不许子类改变时,可以利用final关键字修饰父类。
2. 特点:
- 被final修饰的类,不能被继承
- 被final修饰的方法,不能被重写
- 被final修饰的变量是个常量,值不能被改变
- 常量的定义形式:final 数据类型 常量名 = 值
static
1.概念:是java中的一个关键字
用于修饰成员(成员变量和成员方法)
2.特点:
- 可以修饰成员变量与成员方法
- 随着类的加载而加载,优先于对象加载
- 只加载一次,就会一直存在,不再开辟新空间, 直到类消失才一起消失
- 静态资源也叫做类资源,全局唯一,被全局所有对象共享
- 可以直接被类名调用
- 静态只能调用静态,非静态可以随意调用
- static不能和this或者super共用,因为有static时可能还没有对象
this
1.概念:this代表本类对象的一个引用对象
2.形式: this.name=name
3.功能1:由于变量的就近原则 如果成员变量与局部变量同名 想要使用成员变量的话用this. 来调用类资源成员变量
功能2:this可以实现功能方法间的调用 注意不要来回相互调用 this必须写在构造方法的第一行
super
可以通过这个关键字使用父类的内容,Super代表的是父类的一个引用对象
注意:在构造方法里,出现的调用位置必须是第一行
this与super的区别
1.This代表本类对象的引用
class Cat{ this.XXX } 可以理解成: Cat this = new Cat();
2.super代表父类对象的引用
class Father{ }
class Son extends Father{ super.XXX }
可以理解成: Father super = new Father();
3.this可以在两个变量名相同时,用于区分成员变量和局部变量
4.this 可以在本类的构造方法之间调用,位置必须是第一条语句,注意,不能相互调用,会死循环
5.super是发生了继承关系以后,子类如果想用父类的功能,可以通过super调用
6.如果发生了重写,还想用父类的功能,需要使用super来调用
7.Super在调用父类构造方法时,必须出现在子类构造方法的第一条语句,而且如果父类中没有提供无参构造,子类可以通过super来调用父类其他的含参构造