如下的程序:
public class TestStaticClass { public static void main(String[] argv)
{
System.out.println(new TestStaticInner().a);
}
static class TestStaticInner
{
private int a;
}
}
可以编译通过。
那么把类声明为静态类有何用?

解决方案 »

  1.   


    静态类以后就不用new了啊!呵呵!
      

  2.   

    静态类只可以引用外部类的静态成员。在外部类里也不用new了
      

  3.   

    请看红色字体部分。静态类在外部类中被new了。不new的话编译不过。
      

  4.   

    public class TestStaticClass { public static void main(String[] argv) {
    System.out.println(new TestStaticInner().a);
    A.test();
    } static class TestStaticInner {
    private int a;
    } class TestStaticInner2 {
    private int a;
    }
    }class A {
    public static void test() {
    new TestStaticClass.TestStaticInner();
    new TestStaticClass().new TestStaticInner2();
    }
    }如上面的 代码
    static  是相对 这个类外 的,有static 就不需要new 对象了
      

  5.   

    main方法是静态的,不能在静态方法中调用非静态的方法
    用new在内存中不一样
      

  6.   

    我现在才看到,难到Java虚拟机认他为静态方法