本帖最后由 何明辉 于 2012-7-24 09:57 编辑
class XianCheng extends Thread
{
private String name;
XianCheng(String name)
{
//super(name);————————1
this.name=name;
}
public void run()
{
for(int i=60;i>0;i--)
{
System.out.println(this.getName()+"----hello");
}
}
}
class XianChengDemo
{
public static void main(String[] args)
{
XianCheng p1=new XianCheng("one");
XianCheng p2=new XianCheng("two");
p1.start();
p2.start();
for(int i=60;i>0;i--)
{
System.out.println("main");
}
}
}
程序中若也编译1处的话则线程p1和p2返回的名称分别是one和two;那至少说明一点getName()方法中肯定去访问name(父类)的值,然后返回该值,但是如果父类Thread中相应的name(不一定是name,一定和此类似)没有赋值的话,则会指向空,应该说返回的是null,但为什么还能返回线程的默认值啊,它和name有什么关系,它是怎么返回起默认值的啊,貌似毕老师也没有讲,求大家给我说一下,谢谢
|