cannot be referenced from a static context

2018-01-17 10:23:31

报错:cannot be referenced from a static context,报错代码如下

public class neicunxielou {
    public static void main(String[] args)  throws Exception {


        MyThread myThread1 = new MyThread();
        myThread1.run();
    }

    private  class MyThread extends Thread{
        public void run(){
            System.out.println("hello");
        }
    }

}

原因如下

MyThread是一个非静态的内部类,只能被这个类的非静态方法访问。main方法是静态方法,使用该类创建对象时会出错。解决办法有两个:
1. 将MyThread变为静态的内部类,即加上static;
2. 将类移到外面定义。


修改代码如下


neicunxielou {
    main(String[] args)  Exception {


        MyThread myThread1 = MyThread();
        myThread1.run();
    }

    MyThread Thread{
        run(){
            System..println();
        }
    }

}


  • 2018-05-05 20:31:52

    StringUtils就这1张图,必备(二)

    StringUtils是工作中使用最频繁的一个工具类,提供了大量丰富的字符串操作方法,下面是所有方法的一个蓝图:

  • 2018-05-06 00:41:36

    设置EditText不自动聚焦

    如果界面中有EditText的时候,用户打开界面的话EditText就会自动聚焦。如果想取消这种一打开界面EditText就聚焦效果,可在EditText的上级父容器中加入如下代码:

  • 2018-05-21 13:54:06

    laravel-nestedset:多级无限分类正确姿势

    Nested Set Model 是一种实现有序树的高明的方法,它快速且不需要递归查询,例如不管树有多少层,你可以仅使用一条查询来获取某个节点下的所有的后代,缺点是它的插入、移动、删除需要执行复杂的sql语句,但是这些都在这个插件内处理了!

  • 2018-06-02 00:29:58

    Android实现沉浸式状态栏的那些坑

    最近项目需要实现沉浸式的状态栏,其实我在之前就了解过Android的沉浸式,发现有些棘手就放弃了,但是此次是公司的项目需要的,就花了几天把这个问题搞定了,在此记录一下,并mark几个坑。 首先,沉浸式是Android 4.4及以上才有的,在后续的5.0及6.0上面都增加了一些相关支持,于是问题就不太好办了。先看我实现的效果: