为什么是这个结果 其实Java继承中,成员变量(包括静态变量,实例变量,常量)没有覆盖(override)一说,应该叫隐藏(hidden)。override只针对方法来说的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼上说的是正确的。楼主可以为T T1 T2 T3加上toString()方法。然后打印的时候,把t.a改为t.toString(),((T)t).a改为((T)t).toString(),以此类推。最后可以看到用toString()打印出来的值总是为3,因为toString被override了,所以调用toString()的时候,toString()里,a的值总是"new"后面那个类型(这里总是T3)里的值。 也就是说override只针对方法? 怎么获取session的值 那叫一个急啊!! 关于ActionMessage的初始化问题 复合主键的自动生成功能? 怎样用 java 代码读取、分析数据库日志 jboss.xml中<destination-jndi-name>标签 数据库应用怎样利用面向对象? J2EE框架问题,tomcat启动报错,求指导!! 如何删除tomcat在windows中的服务? 请问如何可靠地检测pop3服务器中地新邮件? hibernate的管理状态 文件头问题
楼主可以为T T1 T2 T3加上toString()方法。然后打印的时候,把t.a改为t.toString(),((T)t).a改为((T)t).toString(),以此类推。最后可以看到用toString()打印出来的值总是为3,因为toString被override了,所以调用toString()的时候,toString()里,a的值总是"new"后面那个类型(这里总是T3)里的值。