请教JAVA高手,小弟不胜感激~ 我是想知道为什么建立了超类的对象,后面又用New来引用子类。这里想不明白。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 区分以下三个术语: “声明(declairation)”,“建立(create)”,“引用(reference)”"SuperClass s1=new SubClass(10);//这里是什么意思?"这句话中"SuperClass s1"声明了一个SuperClass的变量,但此变量的值为null“new SubClass(10)”才真正在堆中创建了一个对象;并把该对象的引用赋值给变量s1;可见声明的时候并不一定会创建对象;至于引用只是象int一样的一个值,JVM根据它可以在堆中找到特定的对象。 流浪的人,这两种new的方式,那一个更好些? 记住面向对象里的一个规则:所有的子类对象都是父类对象(如所有的黑猫都是猫)这样来理解那个语句就比较容易了SuperClass s1=new SubClass(10);可以分解为下面的语句:SuperClass s1;SubClass s2 = new SubClass(10);s1 = s2;//子类对象s2肯定是s1的一种,所以这样赋值没有错父类生成一个对象s1,子类生成一个对象s2把s2赋给s1 面试题求助啊 紧急求救啊! 我是新手再看代码时遇到的一点小问题 请教一个层次结构的编程构建方法(本来是树形结构,结果导师要求改成层次结构了) 关于Jmster 测试webservice 为什么实现事件机制时都需要一个List JTree中编辑节点,Esc键取消编辑时,判断节点的名字的问题! applet显示图片的问题 如何获取桌面路径 help! help! where can I find core java 2? 有简便方法没有 请大家多多指教
“声明(declairation)”,“建立(create)”,“引用(reference)”
"SuperClass s1=new SubClass(10);//这里是什么意思?"这句话中
"SuperClass s1"声明了一个SuperClass的变量,但此变量的值为null
“new SubClass(10)”才真正在堆中创建了一个对象;并把该对象的引用赋值给变量s1;
可见声明的时候并不一定会创建对象;至于引用只是象int一样的一个值,JVM根据它可以在堆中找到特定的对象。
这样来理解那个语句就比较容易了
SuperClass s1=new SubClass(10);
可以分解为下面的语句:
SuperClass s1;
SubClass s2 = new SubClass(10);
s1 = s2;//子类对象s2肯定是s1的一种,所以这样赋值没有错
父类生成一个对象s1,子类生成一个对象s2
把s2赋给s1