Java常见对象内存分析
首先要明确Java内存的个位置上放的是啥
类、对象、实例三者的关系:
1.类:是对象的模板,可以实例化对象。(this不能出现在静态方法中)
2.对象:类的个体。
3.实例:实现的对象。
4、对应的引用:
引用类型:基本类型(8)
对象是通过引用来操作的:栈——>堆(引用是指向对象的地址)
Student s;
s=new Student();
其中Student为类,s为对象,new Student()为实例,s赋值后也是实例了
Java内存
new的时候会在栈中生成引用变量名,其类似于C中指针指向的时队中所属对象的地址(若new了多个对象则地址各不同)
静态方法与类一起加载
实际代码
import operater.Demo09;
public class Demo08 {
public static void main(String[] args) {
Demo09 pet=new Demo09();
System.out.println("pet的内存地址是:"+pet.hashCode());
pet.name="旺财";
pet.age=3;
pet.shout();;
System.out.println(pet.name);
System.out.println(pet.age);
Demo09 dog=new Demo09();
System.out.println("dog的内存地址是:"+dog.hashCode());
}
}
public class Demo09 {
public String name;
public int age;
public void shout(){
System.out.println("叫了一声");
}
}
结果
pet的内存地址是:460141958
叫了一声
旺财
3
dog的内存地址是:1163157884
本文来自博客园,作者:Cn_FallTime,转载请注明原文链接:https://www.cnblogs.com/CnFallTime/p/15815806.html