日期:2014-05-20  浏览次数:20786 次

定义一个静态内部类有什么意义?

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

static   class   A
{
}
}

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

------解决方案--------------------
public class Singleton {

static class SingletonHolder {
static Singleton instance = new Singleton();
}

public static Singleton getInstance() {
return SingletonHolder.instance;
}

}
Bob Lee 写的新的懒汉单例模式 ,希望对楼主有些帮助
------解决方案--------------------
理论上讲,静态内部类等价于外部类,而且不能再使用外层封装类的非static成员
------解决方案--------------------
同意
 grant999(民) ( ) 信誉:80
------解决方案--------------------
为模式而存在
------解决方案--------------------
有时两个类关系就是非常紧密(甚至需要互访私有成员),但这种关系只是类级别上的,不是对象级别上的。一个最典型的例是是HashMap与其Entity类。
那你除了用静态的内部类,还能有更好的方法吗?
如果用两个独立的类,感觉无法表达这种紧密的关系。毕竟即使是同一包中的两个类,给人的印象也是各自独立的。
------解决方案--------------------
只是为了隐藏
------解决方案--------------------
具体情况下,具体对待吧

也许有时候静态的局部变量(多个)就可以代替静态类了

Java语言本身就支持,所以根据个人编码习惯了