对象的定义:
声明并实例化对象: 类名称 对象名称 = new 类名称();
类名称() 指的是构造方法。
分步进行对象实例化:
|- 声明对象: 类名称 对象名称 = null;
|- 实例化对象:对象名称 = new 类名称();
所有对象只有实例化之后才能真正使用。
引用类型指的是内存空间的操作,
|-堆内存空间:保存真正的数据;堆内存保存的是对象的属性信息;
|-栈内存空间:保存的堆内存的地址,堆内存的操作权; 简单理解为保存的是对象的名称。
下图为声明并实例化对象内存分配过程
下图为先声明后实例化对象的内存分配过程
对象(所有的引用数据类型)必须在开辟内存空间后才可以使用(即实例化),未开辟数据空间的
引用数据类型(数组,接口,类),则将出现NullPointException;
引用传递的本质就在于别名,而这个别名只不过是放在了栈内存之中,即一块堆内存可以被多个栈内存所指向。
垃圾空间即没有任何栈内存指向的堆内存空间,所有的垃圾空间将不定期的被java中的垃圾收集器(GC, Garbage Collector)进行回收以实现内存空间的释放。
private实现封装的最大特征在于:只允许本类访问,而不允许外部访问。
类中的组成:属性,构造方法,普通方法。