一个对象的内存图:两个类的字节码文件,主类进入方法区,主方法进入栈内存,申请一个对象,将申请对象的类的字节码文件加载进方法去,new出来进入堆,但是对象是用类进行创建的,所以 变量进入堆内存,但成员方法不会进入,但是堆内存中有一块存有类方法的地址类里面变量方法放在堆内存中,调用是将其从方法区加载到栈内存中。
PRIVATE: private修饰的属性不能直接引用和赋值;提供了两个方法set和get,只能在本类中使用
使用方法:一个标准类的写法, 成员变量私有化,如果外部需要调用,只能调用成员方法进行赋值
this关键字:如果想把变量标识为成员变量,在该变量前加上this即可,解决局部变量和成员变量重名的问题
代表所在类的对象的地址,方法被那个对象引用,this就代表哪个对象。
封装:隐藏实现细节,仅仅对外暴露公共的部分
私有仅仅是封装的一种体现(其他:将重复的操作抽取到方法中,也是对代码的一种封装,将属性抽取到类中,这是堆数据的一种封装)
构造方法:构建,创造对象时候调用的方法。
格式:方法名与类名相同,大小写一致;没有返回值,连void都无;没有具体返回值,不能由return带回数据结果
创建对象时候调用,每创建一次对象,就会执行一次构造方法。不能手动调用(对象名.方法名)
作用:用于对象的数据进行初始化
注意:如果没有定义构造方法,系统将给出一个默认的无参构造方法,如果定义了构造方法,系统将不再提供默认的构造方法,全部写出没问题(自定义了带参,想用无参,需要再定义)
标准类制作:
成员变量:使用private修饰
构造方法:无参加有参
成员方法:提供每个成员变量对应的get set
提供每个对象信息的show
创建对象并为其成员变量赋值的两种方式 :无参构造法使用set,带参构造方法直接创建带有属性的对象
这些为JavaBean类,可以通过IDEA快捷键自动生成
标签:第三节,构造方法,对象,成员,内存,方法,变量 From: https://www.cnblogs.com/kaiserchu/p/16894566.html