zoukankan      html  css  js  c++  java
  • 内部类

    1.内部类就是在一个类的内部又创建一个类.。

    内部类既可以访问自身的数据域,也可以访问创建它的外围类对象的数据域。

    内部类的对象总有一个隐式引用, 它指向了创建它的外部类对象

    为了说明这个概念 , 我们将外围类对象的引用称为 outer(有点类似与this),但是其实并没有。

    这个outer写出应该是 外类类名.this

    下面这个例子写出了内部类对象的创建

    AA a= new AA() ;//其中AA类中有一个BB类
    AA.BB b = a.new BB();

    2.局部内部类:局部内部类就是将类创建到方法中,他不能加public这种修饰符。局部类可以对外部世界可以完全地隐藏起来 。 即使外部类中的其他代码也不能访问它。 除了定义局部内部类的方法之外 , 没有任何方法知道这个内部类的存在

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

    代码如下:

    ActionListener listener = new ActionListener()
    {
      public void actionPerformed ( ActionEvent event )
      {
        System.out.println (" At the tone, the time is " + new Date() ) ;
        if (beep) Toolkit.getDefaultToolkit( ).beep( ) ;
      }
    };

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

    SuperType 也可以是一个类 , 于是内部类就要扩展它

    3.静态内部类

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






  • 相关阅读:
    完全背包详解
    0-1背包详解
    优先队列 + 模拟
    循环节 + 矩阵快速幂
    并查集 + 路径压缩(经典) UVALive 3027 Corporative Network
    dp
    动态规划分类(完整版)
    (二)Spring框架之JDBC的基本使用(p6spy插件的使用)
    (一)Spring框架基础
    (十六)客户端验证与struts2中的服务器端验证
  • 原文地址:https://www.cnblogs.com/TheQi/p/10446234.html
Copyright © 2011-2022 走看看