this关键字
作用:this表示是当前对象本身,更准确的说,this代表当前对象的一个引用。(this.属性 调用本类的成员变量)
普通方法中调用this:区分类成员属性和方法的形参,调用当前对象的其他方法(可以省略),可处于任意位置。
构造方法中使用this:使用this来调用其他构造方法,位置必须是第一条语句。
this不能用于static静态方法(讲完static就明白了)。
static关键字
在类中,用static声明的成员变量为静态成员变量,或者叫:类属性、类变量。
它为该类的公用变量属于类,被该类的所有实例共享,在类被载入时显示为初始化,对于该类的所有对象来说,static成员变量只有一份,被该类的所有对象共享,可以使用“对象,类属性”(new的对象)来调用。不过,一般都是用“类名.类属性”,static变量至于方法区中。
用static声明的方法为静态方法,不需要就可以调用(类名。方法名)。在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可放问非static的成员。静态方法不能一任何方式引用this和super关键字。
成员变量放在堆中,而静态变量放在方法区的静态区中。
使用static声明的成员变量称为静态变量。
使用static声明的方法称为静态方法。
静态变量和静态方法又称为类变量和类方法。
静态属性的访问形式:(1)对象名.属性
(2)类名.属性
静态方法:访问修饰符static返回值类型方法名(){}
访问形式:(1)对象名.方法名();
(2)类名.方法名();
static修饰与非static修饰的区别 p54
代码块: 概念:使用“{}” 括起来的一段代码
分类:根据位置分类
普通代码块:直接在方法或语句中定义的代码块
构造代码块:直接写在类中的代码块
静态代码块:使用static声明的代码块
同步代码块:多线程的时候会学到
静态初始化块:如果希望加载后,对整个类进行某些初始化操作,可以使用static初始化块。
类第一次被载入时先执行static代码块;类多块载入时,static代码块值执行一次,static经常用来进行static变量的初始化。(是类初始化时执行,不是在创建对象时执行)
静态初始化块中不能访问非static成员。



