一,this关键字
-----永远代表当前对象;
1,this属性名
———一个方法当中,当全局变量和局部变量重名的时候,this关键字用来区分全局变量和局部变量;
2,this方法名
———让类中一个方法调用类当中另外一个方法;(static->值是当前类;this->值是当前对象);
3,this()
———this访问本类的构造器;
(1)不能在普通方法中使用,只能在构造方法中使用;普通方法不能调用构造方法,因为对象是调用普通方法的主体,没人指向;
(2)this()在构造方法中只能是第一条语句,因为要先构造,后赋值;
(3)在一个类下的两个构造器当中不能通过this()互相调用,互相调来调去,形成死循环,没有意义;
(4)不能和super()互相使用,因为super()调用的是父类的关键字,不是当前类的,会冲突;
二,static关键字
(1) static就是方便在没有创建对象的时候对方法和变量进行调用;
(2) static的内存使用情况----()
(3) static修饰符
-----static修饰变量 (static修饰的变量属于类变量,被所有对象共享)(面试重点)
------static修饰方法(1,this关键字不能在static方法当中使用;2,静态方法中不能使用非静态的方法,非静态方法能使用静态的方法;)
------static修饰代码块(static修饰的代码块,在main方法之前执行,以便优化程序)
三,final关键字
-----修饰变量
final固定的是一个地址;
final修饰变量变量不可变,一般叫做常量,值不能被随意改变。
1,基本数据类型
则其数值一旦在初始化之后便不能更改。
2,引用数据类型
在对其初始化之后便不能再让其指向另一个对象。
11,全局变量
必须赋值,否则变量出栈时需要修改方法区中的值,这样不符合final得到特性
22,局部变量
final修饰的局部变量可以不赋初始值,但是要想使用这个局部变量,就必须赋值
-----修饰方法
不能被重写
------修饰类
不能被继承
----防止类被继承
----防止变量被第二次赋值
----防止方法重写
----防止指令重排序