this:
this代表本类的对象
this代表它所在函数所属对象的引用,就是说哪个对象在调用this所在的函数,this就代表哪个对象
this的应用:
单定义类功能时,该函数内部要用到调用该函数的对象时,这时用this来表示这个对象
但凡本类功能内部使用到了本类对象,都用this表示
this语句:
用于构造函数之间进行相互调用
this语句只能定义在构造函数的第一行,因为要执行初始化
static:(静态)
用法:
用于修饰成员(成员变量,成员函数)
当成员被静态修饰后,就多了一种调用方式,除了可以被对象调用外,还可以被类名调用:类名.静态成员
特点:
1.随着类的加载而加载
也就是说会随着类的消失而消失,说明类的生命周期最长
2.优先于对象的存在
明确一点:静态是先存在的,对象是后存在的
3.被所有对象锁共享
4.可以直接被类名所调用
实例变量和类变量的区别:
1.存放位置:
类变量随着类的加载而存在于方法区中
实例变量随着对象的建立存在于堆内存中
2.生命周期:
类变量生命周期最长,随着类的消失而消失
实例变量生命周期随着对象的消失而消失
静态的使用注意事项:
1.静态方法只能访问静态成员
非静态方法既可以访问静态也可以访非静态
2.静态方法中不可以定义this,super关键字
因为静态方法优先于对象存在,所以不可以出现this
3.主函数是静态的
静态有利有弊:
利:对对象的共享数据进行单独空间的存储,节省空间。没有必要每个对象中都存储一份
可以被类名直接调用
弊:生命周期过长
访问出现局限性(静态虽好,只能访问静态)