读书人

有关Enum枚举有关问题

发布时间: 2013-10-15 16:47:37 作者: rapoo

有关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()方法

读书人网 >J2SE开发

热点推荐