zoukankan      html  css  js  c++  java
  • 匿名类

    匿名类是没有名字的内部类,所以在创建时,必须作为一个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);

    }

    });

    }

    }

  • 相关阅读:
    如何选择开源许可证?(转)
    gdb的使用(转)
    git的使用
    2017-3-13 leetcode 4 11 15
    2017-3-12 leetcode 167 209 216
    2017-3-11 leetcode 217 219 228
    2017-3-10 leetcode 229 238 268
    1175: 零起点学算法82——find your present
    1174: 零起点学算法81——求整数绝对值
    1173: 零起点学算法80——求实数绝对值
  • 原文地址:https://www.cnblogs.com/Angella/p/6027969.html
Copyright © 2011-2022 走看看