public class Test
{
public static void main(String[] args)
{
}

static class A
{
}
}定义一个静态内部类有什么意义?他的主要用途有什么?

解决方案 »

  1.   

    public class Singleton {    
       
      static class SingletonHolder {    
        static Singleton instance = new Singleton();    
      }    
       
      public static Singleton getInstance() {    
        return SingletonHolder.instance;    
      }    
       
    }   
    Bob Lee 写的新的懒汉单例模式 ,希望对楼主有些帮助
      

  2.   

    理论上讲,静态内部类等价于外部类,而且不能再使用外层封装类的非static成员
      

  3.   

    同意
     grant999(民) ( ) 信誉:80
      

  4.   

    有时两个类关系就是非常紧密(甚至需要互访私有成员),但这种关系只是类级别上的,不是对象级别上的。一个最典型的例是是HashMap与其Entity类。
    那你除了用静态的内部类,还能有更好的方法吗?
    如果用两个独立的类,感觉无法表达这种紧密的关系。毕竟即使是同一包中的两个类,给人的印象也是各自独立的。
      

  5.   

    具体情况下,具体对待吧也许有时候静态的局部变量(多个)就可以代替静态类了Java语言本身就支持,所以根据个人编码习惯了
      

  6.   

    同意 grant999 的用法 很典型的例子