JAVA面向对象

成员变量和成员方法

  • 使用一个类,其实就是使用该类的成员。(成员变量和成员方法)
  • 成员变量 和以前定义变量是一样的。

只不过位置发生了改变:在类中,方法外。

初始化值:不需要给初始化值。

2:成员方法 和以前定义方法是一样的。

只不过把static去掉,面向对象进阶在详细讲解static的作用。

  • 在创建完对象后,Java会自动创建一个无参构造函数。如果自己创建一个有参构造,会将自动生成的无参构造覆盖,此时在其他类中实例化该对象,必须带参。
  • 被private修饰的成员变量,在其它类中只能通过get和set来操作。
  • 属性只能被打印,方法只能被调用。

成员变量和局部变量区别:

成员变量局部变量
代码位置类中方法外方法中
内存中位置堆内存栈内存
生命周期随着对象的存在而存在,随着对象的消失而消失随着方法的调用而存在,随着方法的调用完毕而消失
初始化值有默认的初始化值没有默认的初始化值,必须先定义,赋值,才能使用。
作用域整个类中有效当前方法中有效

this的内存原理

image-20220901151324976
image-20220901151324976

  • 区分局部变量和成员变量。
  • 局部变量隐藏成员变量时使用this,方法被哪个对象调用,this就代表那个对象。
  • this的本质:所在方法调用者的地址值。

image-20220901151902558
image-20220901151902558