使用关键字this和Class name访问静态实例变量之间的区别
我有以下java类。当我在构造函数中调用login方法时,我使用类名访问静态实例变量
username
,使用关键字this
访问静态实例变量password
。我的问题是这两种方法有什么区别?应该在什么情况下使用哪一个?
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();
}
}
没有找到相关结果
已邀请:
8 个回复
死搭胯
访问静态成员具有误导性,应该不惜一切代价避免使用。
钾涎净介
字段或方法,而不是通过
或实例来强调它是
。例如,Eclipse有一个配置设置,用于标记有关通过实例引用访问的静态资源的警告。 我的偏好,按顺序: 在类本身内,我只会在没有限定符的情况下引用该字段 使用类名 如果您觉得字段/方法的静态性质可能会发生变化,那么仅使用
或实例,并且这是一个设计细节,它是静态的,类的客户端不应该依赖(在这种情况下,我会考虑制作它一个实例方法,以确保如何访问它)
炉挤仙挟
是首选,因为它反映了该领域的性质。
硕歌沙
这清楚表明它们是 类变量。 注意:您还可以使用对象引用来引用静态字段
但这是令人沮丧的,因为它并没有说清楚它们是什么 类变量。
柑恫祟
吠强祷豪硅
济畦刨
闪脖