您的位置:首页 > 编程语言 > Java开发

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

2016-10-12 10:28 162 查看
匿名内部类:

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

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,静态内部类的对象除了没有对生成它的外围类对象的引用特权外,与其他所有内部类完全一样。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: