《复习总结》 张伦琦
首先我来回顾一下脑海中所有这两天的知识点:
面向对象
Private关键字
This关键字
静态变量
成员变量
局部变量
静态代码块
构造代码块
局部代码块
静态方法
构造方法
成员方法
总结一下就是:一个思想,两个关键字,三个变量,三个代码块,三个方法。
最先看下面向对象的思想,核心我感觉就是做好数据的保护,然后自己做大爷去用方法。
看下两个关键字吧:
Private关键字,最大的感觉就是保护数据安全性,不让使用者随意改动。
This关键字,一个是this.一个是this(),第一个用发的意思很简单,可以理解为地址,其实就是一个地址,是当前对象的地址,切记是对象的地址,隐式调用。This()呢,主要是用于构造函数的调用,在一个构造函数中调用另一个重载的构造函数可以也只能用this(),不然会报错!
接下来就是三个变量:
静态变量:随类生成,随类消失
成员变量:随成员生成,随成员消失
局部变量:随方法生成,随方法消失,最好记的就是它所属的最内的一层花括号就是局部变量的作用范围
然后是三个代码块:
静态代码快:随类生成,随类消失,并且只在类生成的时候执行一次,主要用于给静态变量初始化值。
构造代码块:随成员生成,随成员消失,并且只在对象生成的时候执行一次,主要用于给成员变量初始化值及处理一些条件。
局部代码块:就是方法里面拿花括号括起来的东东,不解释了
接下来时三个方法:
静态方法:类一加载就到静态方法区里去了,别人可以通过对象去调用它,也可以直接通过类来调用。
构造方法:对象一加载就到方法区里去了,在生成对象的时候调用。创建变量的时候new的那个方法就是构造方法。
成员方法:就是对象生成后可以调用的方法。
总结一下先后顺序:
首先:静态的绝对是最先执行的,因为静态的东西是类刚一加载就加载的,静态的东西加载的时候,成员的东西还没有出生呢!还有一个执行规则就是:最早生成变量,再生成代码块,再生成方法。我们可以这么理解,因为代码块和方法可能要调用变量,所以变量必须在他们之前就生成,又由于静态方法需要调用,而静态代码块在类加载的时候执行一次,主要作用是给静态变量赋值,所以静态代码块肯定也是先与静态方法执行的。而成员的一些东西也是类似,显示成员变量,然后是构造代码块(类比可知,构造代码块多用于给对象赋值的),然后是构造方法,然后是成员方法。