发现一个现象 关于Parent child = new child()

j_unique 2008-07-27 04:09:55
我先帖一段代码
public class Test{
public static void main(String[] args){
Parent child = new Child();
System.out.println(child.s+" "+child.m);
}
}
class Parent{}
class Child extends Parent{}

输出结果 Parent 0;
我想问这个结果是怎么的出来的,
还是我的jdk出了什么毛病了。。。 我是用javac java命令调试的。
...全文
149 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 j_unique 的回复:]
问题解决了。。。

我也感到很奇怪 s和m都没有定义 然后就能输出。
关掉CMD 重新打开 就没有出现那个现象了。。。。。
我猜想会不会是s 和 m 是没有被垃圾回收器回收了。
能力有限不能验证
[/Quote]
怎么可能啊,还真见到过。。
你是不是用javac编译后,只改的程序,然后没有再编译,直接执行的上次的class,
zhj92lxs 2008-07-27
  • 打赏
  • 举报
回复
j_unique 2008-07-27
  • 打赏
  • 举报
回复
问题解决了。。。

我也感到很奇怪 s和m都没有定义 然后就能输出。
关掉CMD 重新打开 就没有出现那个现象了。。。。。
我猜想会不会是s 和 m 是没有被垃圾回收器回收了。
能力有限不能验证
  • 打赏
  • 举报
回复
你的s。m都在哪呢。
frilly 2008-07-27
  • 打赏
  • 举报
回复
任何类型的变量都有默认值,如整型,就是零
ZangXT 2008-07-27
  • 打赏
  • 举报
回复
看来是你的jdk出毛病了,s和m都没定义竟然有结果。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧