java学习(9)内部类(2)

来源:互联网 发布:ubuntu安装run文件 编辑:程序博客网 时间:2024/06/16 19:53

匿名内部类:

假如只创建这个类的一个对象,就不必命名了,这种类被称为匿名内部类。

public void start(int interval,final boolean beep)

{

     ActionListener listener = new ActionListener()

     {

           public void actionPerformed(ActionEvent event)

           {

                     Date now = new Data();

            }    

      }

}

语义是:创建一个实现ActionListener接口的类的新对象,需要实现的方法actionPerformed定义在括号{}内。


通常的语法格式

new SuperType(construction parameters)

{

        inner class methods and data

}

其中SuperType可以是ActionListener这样的接口,于是内部类就要实现这个接口,SuperType也可以是一个类,于是内部类就要扩展他。

匿名类没有类名,所以匿名类不能有构造器。



静态内部类:

有时候,使用内部类只是为了把一个类隐藏在另外一个类的内部,并不需要内部类引用外围类对象。为此,可以将内部类声明为static,以便取消产生的引用。


只有内部类可以声明为static,静态内部类的对象除了没有对生成它的外围类对象的引用特权外,与其他所有内部类完全一样。




0 0
原创粉丝点击