为什么 Java 类不能声明为静态类?
我试图找出为什么不能将类创建为静态?喜欢:
public static class Qwert{
public static void main(String args[]){
int x = 12;
while(x<12){
x--;
}
System.out.println(" the X value is : "+ x);
}
}
我试图找出为什么不能将类创建为静态?喜欢:
public static class Qwert{
public static void main(String args[]){
int x = 12;
while(x<12){
x--;
}
System.out.println(" the X value is : "+ x);
}
}
在 Java 中,关键字通常将方法或字段标记为存在,不是每个类的每个实例一次,而是一次。无论如何,类存在一次,因此实际上,所有类都以这种方式“静态”,并且所有对象都是类的实例。static
static
对内部类有意义,这是完全不同的:通常,内部类实例可以访问它绑定到的外部类实例的成员,但如果内部类是 ,则它没有这样的引用,并且可以在没有外部类实例的情况下实例化。也许你在某个地方看到了它,然后试图在顶级课堂上使用它,在那里它没有意义。static
或者,也许你在其他语言中看到了它,比如C#,它的语法非常像Java。
(有一次,我无法弄清楚为什么外部类实例没有被垃圾回收 - 这是因为我在其他地方保留了对其内部类实例之一的引用,而内部类没有,因此对外部类实例的引用。因此,默认情况下,我现在创建内部类。static
static
若要防止实例化特定类,应添加一个私有构造函数。这将阻止“任何其他”类能够创建类型的对象。Qwert
例如:
public static class Qwert{
private Qwert() {}
public static void main(String args[]){
int x = 12;
while(x<12){
x--;
}
System.out.println(" the X value is : "+ x);
}
}