黑马程序员技术交流社区
标题:
能告诉我下面程序的输出结果是多少吗?
[打印本页]
作者:
吐槽ing
时间:
2015-3-15 15:43
标题:
能告诉我下面程序的输出结果是多少吗?
import java.util.Date;
public class Test extends Date{
public static void main(String[] args) {
new Test().test();
}
public void test(){
System.out.println(super.getClass().getName());
}
}
作者:
云行水边
时间:
2015-3-15 16:05
包名.Test
作者:
殷俊
时间:
2015-3-15 16:08
为什么要new Test().test(),test方法不就在本类中吗?请指教
作者:
Pakumen
时间:
2015-3-16 00:35
本帖最后由 Pakumen 于 2015-3-16 00:41 编辑
首先,举个例子:
C c=new C();
c.getClass().getName()的意思是返回对象c所属类的名称,也就是C。
其次,你这个代码起码犯了两个错误
1.在主函数所在类中定义了非静态的方法。
2.在上述方法中调用了代表实例对象的super。
你可以从外部调用这个方法,但不要写在主函数所在类中。
如果是写在从外部的调用方法中并修改全部错误,结果是输出Test,原因已经在上述说明。
作者:
董志立
时间:
2015-3-16 09:46
输出结果为Test吧!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2