黑马程序员技术交流社区
标题:
谁能解释下面程序运行的结果?有没有基础较强的
[打印本页]
作者:
探索者
时间:
2015-5-28 17:37
标题:
谁能解释下面程序运行的结果?有没有基础较强的
程序1:
class Demo1 extends Demo3
{
public void print()
{
System.out.println(super.getString());
System.out.println(super.toString());
}
{
print();
}
public String toString()
{
return "nihao:";
}
}
class Demo2 extends Demo1
{
public void print()
{
System.out.println(super.getString());
System.out.println(super.toString());
}
{
print();
}
public String toString()
{
return "====";
}
public String getString()
{
return "----";
}
}
class Demo3
{
public static void main(String[] args)
{
Demo2 car2= new Demo2();
System.out.println(car2);
}
{
System.out.println(super.toString());
}
public String getString()
{
return "----";
}
}
复制代码
[size=14.1666660308838px]程序1的结果为:
[size=14.1666660308838px]CarDemo2@1db9742
[size=14.1666660308838px]nihao:
[size=14.1666660308838px]----
[size=14.1666660308838px]nihao:
[size=14.1666660308838px]----
[size=14.1666660308838px]====
[size=14.1666660308838px]程序2:
[size=14.1666660308838px]
class Demo1 extends Demo3
{
public void print()
{
System.out.println(super.getString());
System.out.println(super.toString());
}
{
print();
}
}
class Demo2 extends Demo1
{
public void print()
{
System.out.println(super.getString());
System.out.println(super.toString());
}
{
print();
}
public String toString()
{
return "====";
}
public String getString()
{
return "----";
}
}
class Demo3
{
public static void main(String[] args)
{
Demo2 car2= new Demo2();
System.out.println(car2);
}
{
System.out.println(super.toString());
}
public String getString()
{
return "----";
}
}
复制代码
程序2的运行结果:
Demo2@1db9742
----
Demo2@1db9742
----
Demo2@1db9742
====
作者:
lizhi
时间:
2015-5-28 17:42
Demo2@1db9742你这打印的是地址值
作者:
探索者
时间:
2015-5-28 17:44
lizhi 发表于 2015-5-28 17:42
Demo2@1db9742你这打印的是地址值
恩,是地址值
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2