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);

    }

    });

    }

    }

  • 相关阅读:
    虚拟化之基础---虚拟化的的基本了解
    DFS文件服务器实验手册
    CentOS 7下配置ISO镜像文件为本地yum源
    CentOS7中搭建redis集群
    CentOS7中搭建redis单机
    CentOS7搭建zookeeper伪集群
    zookeeper单机安装
    搭建局域网http的yum源
    openstack-学习2-云计算与云计算技术
    openstack-学习1-openstack入门
  • 原文地址:https://www.cnblogs.com/Angella/p/6027969.html
Copyright © 2011-2022 走看看