当前位置: 代码迷 >> J2SE >> 静态内部类 构造器?解决思路
  详细解决方案

静态内部类 构造器?解决思路

热度:72   发布时间:2016-04-24 01:58:41.0
静态内部类 构造器?
初学java,看到 java 自带 demo 里面的filechooserDemo
里面有个下面类


Java code
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;        }    }....//省略}



Java code
SupportedLaF supportedLaF = new SupportedLaF(name, laf);


书上找了,网上找了,静态内部类用 new 初始化 这是个什么意思。。
求解。。

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