我有以下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
访问静态成员具有误导性,应不惜一切代价避免这样做。