java中,this、super和final被称为java三大关键字,下面对这个三个关键字进行简单的介绍:
this关键字:
1、this关键字:非静态的成员函数访问非静态的成员(包括成员函数、成员变量),前面都省略了this,this表示调用这个函数(变量)的那个对象的引用;
2、this用来更方便的定义变量名,有了this,形式参数的名字可以和成员变量的名字一样了,比如this.name = name ;第一个name是成员变量,第二个name是形参;
3、this(a)的用法:在一个构造函数中,调用重载的另外一个构造函数,必须放在构造函数的第一个语句中(所以只能调用一次)。注:一般利用参数较多的构造函数去调用较少的构造函数(假如第一个构造函数有三个参数,第二个构造函数有两个参数,那么用第一个构造函数去调用第二个构造函数);
4、内部类访问外部类的当前对象,用外部类名.this,因为访问的内部类的当前对象,而外部类对非静态内部类的对象时存在引用的。
super关键字:
1、super(参数) 可以在子类中调用父类的构造函数;
2、super.函数 可以在子类中调用父类的方法。
final关键字:
1、final可以修饰变量(局部变量,成员变量)
1)用final修饰的变量只能赋值一次,想当于常量;
2)final修饰成员变量时,必须赋值(用定义初始化或构造函数初始化都行);
3)final修饰成员变量时,每个对象的这个属性都只能赋值一次;
4)final修饰的函数,不能被重写;
5)final修饰的类不能被继承;
2、内部类访问外部类的非静态成员变量(局部变量)时,该变量必须声明为final。