为什么我们不能有静态外部类

时间:2013-08-03 19:27:42

标签: java static

为什么我们不能创建外部的静态类。我在这个社区读到了问题的答案,但我没有得到完美的答案。有些人可以帮我一个确切的答案

   static class A
    {  
        void display()
        {
            System.out.println("This is a static class");  
        }

    }

5 个答案:

答案 0 :(得分:15)

外部类已经有效static一个static嵌套类意味着它没有引用外部类。外部类已经没有对另一个类的隐式引用。

答案 1 :(得分:1)

静态类究竟会做什么?它是“所有实例中的完全相同的实现”吗?想一想:)

答案 2 :(得分:1)

因为这是毫无意义和无用的。如果你想拥有静态对象,只需创建类的静态实例。如果你想在不引用它的对象的情况下调用类方法,只需将此方法设为静态即可。然后你将拥有:

class A
{  
   public static void display()
   {
      System.out.println("This is a static method");  
   }
}

您可以A.display();调用此方法。

答案 3 :(得分:1)

静态嵌套类只是工作中的命名空间。嵌套类在封闭类中是名称范围的,您可以将外部类视为已存在于该程序包的根名称空间

因此,不需要static关键字,因为该类在中已经是全局的,并且如果 public ,则通过应用程序。

答案 4 :(得分:0)

Java中没有外部静态类。 因为所有外部类都已经可见,就像静态修饰符一样。

但是你的意思是,你不想要一个类的实例,你可以简单地让类中的所有方法和变量都是静态的。