一、面向对象深度理解
盖一栋楼,类相当于是一张图纸,类里面有桌子,椅子,床等东西,这些就是类里面的成员变量,new对象相当于把这栋楼盖起来了(我们只管这栋楼盖起来了,不管这栋楼是怎么盖的,我们只要结果,不要过程),将楼盖起来后就该给楼里面的桌子,椅子挑选样式(比如这个桌子什么颜色了,这个桌子叫什么名字了),等命名完后就可以进门入住使用了,main方法相当于是大门,只有进大门才能使用里面的东西。
一、内存分析
二、面向对象小漏洞
1.main方法,静态方法里面的name会报错,普通方法里面不会。
2.mian方法里面,需要new对象才能访问该类属性。
3.静态方法
(1)由于静态方法不依赖于任何对象就可以进行访问,在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为非静态成员方法/变量都是必须依赖具体的对象才能够被调用。
(2)虽然在静态方法中不能访问非静态成员方法和非静态成员变量,但是在非静态成员方法中是可以访问静态成员方法/变量的。
(3)static变量也称作静态变量,静态变量和非静态变量的区别是:静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化。而非静态变量是对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响。
static成员变量的初始化顺序按照定义的顺序进行初始化。