我有以下java类。在构造函数中调用login方法时,我使用类名访问静态实例变量username,并使用关键字password访问静态实例变量this。我的问题是两种方法有什么区别?在什么情况下应该使用哪一个?

public class MyClass {
    private Main main;

    private static String username = "mylogindetails";

    private static String password = "mypassword";

    public MyClass(){
        this.main = new Main();
        this.main.login(MyClass.username, this.password);
    }


    public static void main(String args[]){
        MyClass myclass = new myclass();
    }
}

最佳答案

它们都是等效的。
但是,使用this访问静态成员具有误导性,应不惜一切代价避免这样做。

10-08 08:48
查看更多