初学java,看到 java 自带 demo 里面的filechooserDemo
里面有个下面类
public class FileChooserDemo extends JPanel implements ActionListener {
..... //省略
 private static SupportedLaF nimbusLaF;
    private static class SupportedLaF 
    {        private final String name;
        private final LookAndFeel laf;        SupportedLaF(String name, LookAndFeel laf) {
            this.name = name;
            this.laf = laf;
        }        @Override
        public String toString() {
            return name;
        }
    }
....//省略
}
SupportedLaF supportedLaF = new SupportedLaF(name, laf);
书上找了,网上找了,静态内部类用 new 初始化 这是个什么意思。。
求解。。

解决方案 »

  1.   

    static 修饰内部类的解释没看明白,现在懂了。
      

  2.   

    静态都是用来修饰类的内部成员的。比如静态方法,静态成员变量,静态常量。它唯一的作用就是随着类的加载(而不是随着对象的产生)而产生,以致可以用类名+静态成员名直接获得。 
    这样静态内部类就可以理解了,因为这个类没有必要单独存放一个文件,它一般来说只被所在外部类使用。并且它可以直接被用 外部类名+内部类名 获得。 以下举例说明怎么使用: 
    Student类有个叫School的内部类(非静态) 
    Student stu = new Student(); 
    stu.School sch = new stu.School(); 
    sch就是School的一个对象。 假如School是内部静态类: 
    Student.School sch = new Student.School();