一、this 关键字
指代当前new对象
匿名对象:new类名().成员(只能在当前行使用一次)
this使用:
1.在构造器的首行来调用本类中其他构造器,this(参数列表)//不能自己调自己构造器
2.区分局部与成员同名问题:
a.默认就近原则
b.this存储指代对象的地址
c.如果不存在同名问题,指代成员直接使用,省略this
d.如果存在同名问题,指代成员需要this调用
注意:
1.不能多个构造器之间通过this相互调用
2.在构造器中遇到this指代对象,默认代表当前new的对象
3.在成员方法中的this默认指代调用成员方法的对象
4.this不能使用在static修饰的对象
二、static关键字:静态的
成员修饰符:只能修饰成员不能修饰局部
修饰变量:静态变量|类变量
修饰方法:静态方法|类方法
修饰块:静态块
修饰类:静态内部类
静态变量与静态方法的使用
1.类名.静态变量名
类名.静态方法名(参数列表)
2.对象.静态变量名
对象.静态方法名(参数列表)
在静态内容中,只能直接使用静态,不能直接用成员,必须用跟随对象使用
在成员内容中,可能直接使用成员,可以直接使用静态。
注意:
1.静态的是属于类的
2.成员是属于对象的,只能跟随对象的,
3.成员变量存在于对象的内存空间中,有多少对象的堆内存空间,就存在多少份成员变量
4.静态的变量是独一份的,当前类的多个对象共享的,存在静态区中,会一直改变(在方法中也会保持其值)
5.先静态后成员
静态:在第一次加载完之后就进行初始化,存在静态区中
成员:在创建对象后存在堆内存中
block 块:
{ }:自称作用域
分类:
{ }定义在方法中|语句块中--->局部代码块
执行时机:
跟随方法的调用
分类:
{ }定义在类中方法外--->构造块
执行时机:
跟随new一起调用