首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

有关Enum枚举有关问题

2013-10-15 
有关Enum枚举问题enum[解决办法]第一个输出中p并不在堆中分配,它有一个具体的值,那就是MAN,所以输出MAN。第

有关Enum枚举问题
有关Enum枚举有关问题 enum
[解决办法]
第一个输出中p并不在堆中分配,它有一个具体的值,那就是MAN,所以输出MAN。
第二个是一个对象,它在堆内存中分配,用System.out.println(p1)时,就是调用object类的toString()方法,所以会出现cn.it.pag.P@10948cf;如果有P类中重写了toString(),你怎么写,它就怎么输出。
[解决办法]
第一个输出调用的是Person的toString,第二个调用的是Object的toString。


引用:
Person.MAN 是一个对象不?


Person.MAN是Person类型的对象。
[解决办法]
引用:
第一个输出中p并不在堆中分配,它有一个具体的值,那就是MAN,所以输出MAN。
第二个是一个对象,它在堆内存中分配,用System.out.println(p1)时,就是调用object类的toString()方法,所以会出现cn.it.pag.P@10948cf;如果有P类中重写了toString(),你怎么写,它就怎么输出。

p是Person类型的对象,输出“MAN”是因为调用了java.lang.Enum类的toString()方法(enum关键字声明的枚举类都继承了java.lang.Enum),具体可以查看java.lang.Enum的toString()方法

热点排行