为什么method 需要传对象过去?否则不能调用t.nume

class Work {

    static int num = 3;
    public static void main(String[] args) {

        Work t = new Work();
        t.num = 5;
        method(t);
        System.out.println(t.num);
        System.out.println(num);

    }
    public static void method(Work t){
        t.num = 6;
    }
}
 因为静态成员不能直接访问非静态成员,你可以这么写,不需要传 

class Work {
    static int num = 3;
    public static void main(String[] args) {

        Work t = new Work();
        t.num = 5;
        t.method();
        System.out.println(t.num);
        System.out.println(num);

    }
    public void method(){
        t.num = 6;
    }
}

因为 method 是静态的成员函数,只能通过类的变量来访问类的成员、不能直接访问类的成员。

不传也行啊

class Work {
    static int num = 3;
    public static void main(String[] args) {

        Work t = new Work();
        t.num = 5;
        method();
        System.out.println(t.num);
        System.out.println(num);

    }
    public static void method(){
        num = 6;
    }
}

不过你这个num定义为static 是毫无意义的。