类与对象

一个对象的内存图:

方法共用的内存图:

* 成员变量和局部变量的区别:
* A:在类中的位置不同
* 成员变量:类中,方法外
* 局部变量:方法中或者方法声明上(形式参数)
* B:在内存中的位置不同
* 成员变量:堆内存
* 局部变量:栈内存
* C:生命周期不同
* 成员变量:随着对象的创建而存在,随着对象的消失而消失
* 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
* D:初始化值的问题
* 成员变量:有默认值
* 局部变量:没有默认值。必须先定义,赋值,最后使用

* this:代表所在类的对象引用
* 方法被哪个对象调用,this就代表那个对象

* 构造方法:
* 给对象的数据进行初始化
*
* 格式:
* 方法名和类名相同
* 没有返回值类型,连void都不能写
* 没有具体的返回值

* 构造方法的注意事项:
* A:如果我们没有给出构造方法,系统将会提供一个默认的无参构造方法供我们使用。
* B:如果我们给出了构造方法,系统将不在提供默认的无参构造方法供我们使用。
* 这个时候,如果我们想使用无参构造方法,就必须自己提供。
* 推荐:自己给无参构造方法
* C:构造方法也是可以重载的

原文地址:https://www.cnblogs.com/samuraihuang/p/9736133.html