我对“静态”对变量的作用以及为什么“这个”不能一直应用有疑问。为什么“静态”变量不能用于非“静态”方法?
考虑代码:
public class Person {
String name;
int age;
public void Person (String name, int age) {
this.name = name;
this.age = age;
}
}
如果我向构造函数添加“static”,那么它一直说“this”不能用于静态竞赛。那是什么意思? “静态”是否意味着我不必使类的实例使用该方法?我可以直接说出来吗?
还要考虑这段代码:
public class Prog168h {
static String name2;
static int age2;
public void Prog168h (String name, int age) {
name2 = name;
age2 = age;
}
}
在这个片段中,当我将变量设置为“静态”并且方法保持非“静态”时似乎没有错误。为什么这是允许的,但不是只有方法是静态的?
为什么变量也必须创建为“静态”,因为它们不是在类中的全局范围内创建的吗?
当方法/构造函数是“静态”时,为什么“this”不起作用?
我很感激帮助。非常感谢你!
我已经研究了静态意味着什么,但我似乎无法掌握这里的应用程序。