• 匿名类


    匿名类是没有名字的内部类,所以在创建时,必须作为一个new语句的一部分来声明它们,这就要采用另一种形式的new语句。如下所示:

    new<类或接口><类的主体>

    这种形式的new语句声明一个新的匿名类,他对一个给定的类进行扩展,或实现一个给定的接口。他还创建一个类的新实例,并把它作为语句的结果而返回。要扩展的类和要实现的接口是new语句的操作数,后跟匿名类的主体。

    假如匿名类对另一个类进行扩展,他的主体能够访问类的成员覆盖他的方法,这和其他任何标准的类是相同的。假如匿名类实现了一个接口,他的主体必须实现接口的方法。

    ps:匿名类的声明是在编译时进行的,实例化在运行时进行。这意味着for循环中的一个new语句会创建相同匿名类的几个实例,而不是创建几个不同匿名类的一个实例。从技术上说,匿名类可被视为非静态的内部类,所以它们具备和方法内部声明的非静态内部类相同的权限和限制。假如要执行任务需要一个对象,但却不值得创建全新的对象,匿名类就显得很有用。匿名类尤其适合在swing应用程序中快速创建事件和处理程序。

    public class niminglei{

    public static void main (String []args){

    Frame frm=new Frame("产生一个窗体");

    frm.setSize(300,300);

    frm.setVisible(true);

    frm.addWindowListener(new WindowAdapter(){

    public void windowClosing(WindowEvent e){

    System.exit(0);

    }

    });

    }

    }

  • 相关阅读:
    hdu 5972 Regular Number
    hdu 5971 Wrestling Match
    福大软工 · BETA 版冲刺前准备(团队)
    福大软工 · 第十一次作业
    Alpha 冲刺 (10/10)
    Alpha 冲刺 (9/10)
    Alpha 冲刺 (8/10)
    Alpha 冲刺 (7/10)
    Alpha 冲刺 (6/10)
    Alpha 冲刺 (5/10)
  • 原文地址:https://www.cnblogs.com/Angella/p/6027969.html
Copyright © 2020-2023  润新知