如何获得java对象的内存地址

2024-12-27 04:09:55
推荐回答(2个)
回答1:

public class 对象地址 
{
public static void main(String[] args) 
{
System.out.println("\n\t\t==========如何获取对象地址?==========\n");
init();
}//初始化!
private static void init()
{
//演示:创建对象!
Dog d1=new Dog();
Dog d2=new Dog("白色");

d1.show();
d2.show();

System.out.println("\n对象内存地址-->>对象所属类型:"+d1+"<<--这就是对象内存中哈希值16进制的地址");
System.out.println("对象内存地址-->>对象所属类型:"+d2+"<<--这就是对象内存中哈希值16进制的地址\n");

System.out.println("d1对象所属类:"+d1.getClass());
System.out.println("d1对象所属地址十进制:"+d1.hashCode()+"转成16进制就和上面一样了\n");

System.out.println("d2对象所属类:"+d2.getClass());
System.out.println("d2对象所属地址十进制:"+d2.hashCode()+"转成16进制就和上面一样了\n");

}
}

//测试类,小狗!
class Dog
{
String color="黑色";
Dog(){}
Dog(String color){this.color=color;}
void show()
{
System.out.println("这是一个"+color+"的小狗");
}
}

回答2:

直接print的就是