DreamHighdroid 2015-04-16 02:23 采纳率: 100%
浏览 2677
已采纳

类内部调用该类里的方法使用this关键字对吧,但是.

直接上代码:

 public class GetNameThreadDemo extends Thread
{
    public static void main(String[] args) 
    {
        GetNameThreadDemo t=new GetNameThreadDemo();
        t.start();
        for(int i=0;i<10;i++)
        {
            t.printMsg();
        }
    }
    public void run()
    {
        for(int i=0;i<10;i++)
            printMsg();
    }
    //取得当前线程的引用,赋给Thread对象t
    public void printMsg()
    {
        Thread t=Thread.currentThread();
        String name=t.getName();
        System.out.println("name="+name);
    }
}  

这段代码可以正常运行,但是一开始使用this来调用方法报错:
图片说明

我想知道为啥在类内部调用方法还用实例化对象的方式.不是直接用this吗?

  • 写回答

7条回答 默认 最新

  • danielinbiti 2015-04-16 02:36
    关注

    不会是写在main里面吧
    this只有实例化以后才有意义,没有实例化this没有指向。
    main是静态方法,静态方法中调用必须是静态方法或者实例.方法的方式

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?