Java中不同对象调用该实例方法返回值是同一个地址空间吗?

博客园   2023-04-25 16:07:38


(资料图片)

结论

基本类型

返回的值相同 "=="就为true

public int m1(){return -1;//obj.m1()==obj.m2() true}public double m2(){return 2.2;//obj.m2()==obj.m2() true}

引用类型

返回的引用地址相同 "=="就是false

public String m3(){return "m3";//obj.m3()==obj.m3() true//"m3"在常量池中 所以引用地址相同}public String m4(){return new String("m4");//odj.m4()==obj.m4() false//new实例会在堆内存中开辟内存空间 即引用地址不同 所以false}

相关新闻