JAVA面向对象
成员变量和成员方法
- 使用一个类,其实就是使用该类的成员。(成员变量和成员方法)
- 成员变量 和以前定义变量是一样的。
只不过位置发生了改变:在类中,方法外。
初始化值:不需要给初始化值。
2:成员方法 和以前定义方法是一样的。
只不过把static去掉,面向对象进阶在详细讲解static的作用。
- 在创建完对象后,Java会自动创建一个无参构造函数。如果自己创建一个有参构造,会将自动生成的无参构造覆盖,此时在其他类中实例化该对象,必须带参。
- 被private修饰的成员变量,在其它类中只能通过get和set来操作。
- 属性只能被打印,方法只能被调用。
成员变量和局部变量区别:
成员变量 | 局部变量 | |
---|---|---|
代码位置 | 类中方法外 | 方法中 |
内存中位置 | 堆内存 | 栈内存 |
生命周期 | 随着对象的存在而存在,随着对象的消失而消失 | 随着方法的调用而存在,随着方法的调用完毕而消失 |
初始化值 | 有默认的初始化值 | 没有默认的初始化值,必须先定义,赋值,才能使用。 |
作用域 | 整个类中有效 | 当前方法中有效 |
this的内存原理
- 区分局部变量和成员变量。
- 局部变量隐藏成员变量时使用this,方法被哪个对象调用,this就代表那个对象。
- this的本质:所在方法调用者的地址值。