1.final关键字
final关键字的几种用法,主要修饰地对象为变量,方法参数,方法,类:
- 修饰变量
- 用final关键字修饰的变量,只能进行一次赋值操作,并且在生存期内不能改变它的值,final修饰的变量可以先声明,后赋值
- final修饰基本类型时,起到常量作用,基本类型的值不变。final修饰引用类型时,不能再指向其他的对象,但是被引用的对象的值是可以改变的
- 当用final作用于类的成员变量时,成员变量必须在定义时或者构造器中进行初始化赋值
- 修饰方法参数
- 编写方法时,可以在参数前面添加final关键字,它表示在整个方法中,不能改变参数的值,但是可以改变引用类型参数的对象的值
- 修饰方法
- final关键字修饰方法,它表示该方法不能被覆盖(重写)。另外,类中所有的private方法都隐式地指定为是final
- 修饰类
- 用final修饰地类是无法被继承地,且final类中地所有成员方法都会被隐式地指定为final方法
final与static的区别
相同点:抖可以修饰类、方法、变量
不同点:
- static不可以修饰方法内的局部变量,但final可以(表示不能改变值)
- static修饰表示静态或全局,被修饰得属性和方法属于类,可以直接用类名进行调用,static修饰的属性,也就是类变量,是在类被加载时被创建并进行初始化,只会被创建一次,static修饰得变量可以被重新赋值
- final修饰表示常量,一旦创建就不能改变,final标记的成员变量必须在声明的同时赋值,或者在声明之后,在构造器中赋值
2.this关键字
this本身是一个对象,代表对象本身,可以理解为:指向本身类的对象的一个指针,当形参和成员变量重名时,可以用this来区分,用static修饰的方法或变量不能用this关键字
3.super关键字
super关键字可以理解为指向自己父类对象的一个指针,并且是离自己最近的一个父类