2 qq 36978352 qq_36978352 于 2017.01.09 10:51 提问

java创建线程报错问题

图片说明public class test {
/**
* @param args
*/
public static void main(String[] args) {
new a();
}

 public  class a extends Thread{

     public void run(){
         new Login();        
     }
 }

}

为什么 a 这个类必须是static 才能new a()

2个回答

oyljerry
oyljerry   Ds   Rxr 2017.01.09 11:11
已采纳

这个是静态类语法限制等,
1. 把a单独放到另一个包中去
2. 把a申明为静态类

http://stackoverflow.com/questions/15331846/non-static-variable-this-cannot-be-referenced-from-a-static-context

oyljerry
oyljerry   Ds   Rxr 2017.01.09 11:15

还有一种方法就是通过外层类实例来访问

                        test t = new test();
            a x = t.new a();
            x.run ();
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!