1.this关键字:代表当前对象
this在构造器的首行调用其他构造器(本类中的其他构思器)
this(参数)->匹配不同的构造器的参数
区分同名变量问题(成员变量与局部变量,参数之间同名问题)
this使用在构造器中,指代当前创建的对象
this使用在成员方法中,this指代当前调用成员方法的对象
默认发生就近原则
不存在同名变量|参数问题,变量就是指代成员,前面默认省略this.
1.调用构造器的时候this必须存在第一行才行
2.构造器之间不能相互调用
3.this不能使用在static修饰的内容中
2.static关键字:静态的 成员修饰符
类变量|静态变量: static修饰变量,只能成员变量,不能修饰局部变量
类 方法|静态方法: static修饰的方法
静态的内容的使用方式:
类名.方法名([参数列表]);
类名.属性名;
对象.方法名字([参数列表]);
对象.属性名;
被static修饰的静态的内容是属于类的,可以通过类使用的,可以通过对象去使用
成员的内容是属于对象的,成员变量,成员方法只能通过对象调用
静态的内容中只能直接使用静态的内容,成员内容需要通过对象使用
非静态的内容中,可以直接使用静态的,可以直接使用非静态的内容
只在类第一次加载的时候初始化一次,静态的内容是独一份的,所有的对象共享一个类中的静态内容
3.block: {}-->作用域
{}定义在方法中->局部代码块|普通语句块 执行时机:调用方法
{}定义在类中方法外->构造块 执行时机:new
static{}定义在类中方法外->静态块 执行时机:在类第一次加载以后执行一次
同步块
构造块先于构造器的代码执行,如果存在多个构造块,从上到下以此执行
静态块先于主方法执行,如果存在多个静态块,从上到下依次执行
static->main->构造块->构造器