日期:2014-05-20  浏览次数:20796 次

小弟不才,无奈求解

public class SomeThread implements Runnable
{
public void run()
{
System.out.println("sleep...至 not runnable状态");
try
{
Thread.sleep(9999);
}
catch (InterruptedException e)
{
System.out.println("I'm interrupted...");
}
}

public static void main(String[] args)
{
Thread thread = new Thread(new SomeThread());
thread.start();
thread.interrupt();
}
}


main()函数中这句代码:
Thread thread = new Thread(new SomeThread());
为什么someTread这个类还没有定义完,就可以实例化呢?
------解决方案--------------------
没“定义”完就引用不打紧,关键是运行的时候引用的类已经定义完了。

这里跟C语言一样,你先写一个函数声明,然后就可以用了,函数定义可以在后面写。

public class SomeThread << 这一行就相当于C的函数定义,其他的代码都可以直接用SomeThread这个符号,这跟代码是在什么位置没有关系。

------解决方案--------------------
你要这么说  递归的方法还没定义完  怎么就可以调用了呢