1、this关键字
this关键字代表是对象的引用。也就是this在指向一个对象,所指向的对象就是调用该函数的对象引用。实际工作中,存在着构造函数之间的相互调用,但是构造函数不是普通的成员函数,不能通过函数名自己接调用所以sun公司提供this关键字。
a.this只能在非静态中(没有static修饰的)函数使用.
b.构造函数间相互调用必须放在构造函数的第一个语句中,否则编译错误.
c.可以解决构造函数中对象属性和函数形参的同名问题.
2、static关键字(为了实现对象之间重复属性的数据共享)
a、static关键字的的特点
1)随着类的加载而加载,静态会随着类的加载而加载,随着类的消失而消失。
2)优先于对象存在。(静态是先存在,对象是后存在。)
3)被所有实例(对象)所共享。
4)可以直接被类名调用。
b、使用static时应注意
1)主要用于修饰类的成员
非静态成员变量:需要创建对象来访问。
静态成员变量:使用类名直接调用,也可以通过对象访问。
2)成员方法
静态函数中不能访问非静态成员变量,只能访问静态变量。
静态方法不可以定义this,super关键字。因为静态优先于对象存在.静态方法中更不可以出现this。
非静态函数:非静态函数中可以访问静态成员变量
c、使用static的优缺点
优点:对对象的共享数据进行单独空间的存储,节省空间。
缺点:生命周期过长。
3、final关键字
final关键字主要用于修饰类、类成员、方法、以及方法的形参。
1)final修饰成员变量:说明该成员属性是常量,不能被修改。一般与static结合使用。(常量不能被修改)
2)final修饰类: 该类是终类,不能被修改。(如JavaAPI中的String、Integer类)
3)final修饰方法:该方法是最终方法,不能被重写。当一个类被继承,那么所有的非私有函数都将被继承,如果函数不想被子类继承并重写可以将该函数final修饰。
4、instanceof关键字(主要用于多态)
判断一个对象是否属于指定的类别。
使用前提:判断对象与指定的 类别必须要存在继承或者实现(接口)的关系。
注:this与super很像,但是this 指向的是当前函数的调用对象,super指的是当前调用对象的父类。