为什么不能在这里使用'this'关键字?

tub*_*bby 3 java oop this

我明白这是指当前的对象.所以不使用objectname.fun(objectname.nonstaticmember),为什么我不能使用objectname.fun(this.nonstaticmember)

请参考下面的示例,并在最后看到最后两条评论.

public class Question
{
    int data;

    void myfun(int data)
    {
        System.out.println("data=="+data);
    }

    public Question(int data)
    {
        this.data = data;
        // TODO Auto-generated constructor stub
    }

    public static void main(String[] args)
    {   
        Question question = new Question(10);
        //question.myfun(question.data);//WORKS
        question.myfun(this.data);//DOES NOT WORK
    }
}
Run Code Online (Sandbox Code Playgroud)

i_a*_*ero 5

正如您所提到的,thiskeyword用于引用当前对象而不是类.在你的情况下,你试图this在静态方法中使用它()main.另请查看此链接.