为什么我们不能创建外部的静态类。我在这个社区阅读了这个问题的答案,但我没有得到完美的答案。有人能帮我一个准确的答案吗
static class A
{
void display()
{
System.out.println("This is a static class");
}
}
外部类已经有效嵌套static
类static
意味着它没有对外部类的引用。外部类已经没有对另一个类的隐式引用。
静态类究竟会做什么?它会是“所有实例的完全相同的实现”吗?想想看:)
因为这是没有意义和无用的。如果你想拥有静态对象,只需制作类的静态实例。如果您想调用类方法而不引用它的对象,只需将此方法设为静态即可。然后你将拥有:
class A
{
public static void display()
{
System.out.println("This is a static method");
}
}
您可以通过调用此方法A.display();
。
静态嵌套类只是工作中的命名空间。嵌套类在封闭类中是名称范围的,您可以认为外部类已经存在于该包的根命名空间中。
因此,不需要static
关键字,因为该类在包中已经是全局的,并且如果是public则贯穿整个应用程序。
Java 中没有外部静态类。因为所有外部类都已经像静态修饰符一样可见。
但是你的意思是,你不想需要类的实例,你可以简单地将类中的所有方法和变量设为静态。