zoukankan      html  css  js  c++  java
  • 内部类 与 匿名内部类

    内部类

    通常,如果一个类只是被外部类使用,就将该类定义为内部类。一个内部类有如下特征

    1  一个内部类被编译成为一个名为外部类名$内部类名.class;

    2  内部类可以引用定义在其嵌套的外部类中的数据和方法,所以,不需要将外部类对象的引用传递给内部类的构造方法,因此,内部类可以使程序更加简单和简洁;

    3  使用可见修饰符定义内部类时,遵从应用与类成员上一样的可见性原则

    4  可以将内部类定义为static。一个static内部类可以使用外部类的名字访问。一个static类不能访问外部类的非静态成员;

    5  内部类对象经常在外部类中创建。但是也可以从另一个类中创建一个内部类对象,如果该内部类是非静态的,必须先创建一个外部类的实例,然后使用下面的语法创建一个以内部类对象

        (静态内部类)         内部类对象 = 外部类名.new 内部类名();

         (非静态内部类)    内部类对象 =  new 外部类名().内部类名();

    匿名内部类可以看做是拥有如下特征的特殊内部类

    1  匿名内部类必须总是扩展父类或实现接口,但是它不能有显式的extends或implement字句

    2  匿名内部类必须实现父类或接口的所有抽象方法

    3  匿名内部类总是使用它的父类的无参构造方法来创建实例,如果匿名类实现了接口,构造方法就是Object();

    4  匿名内部类被编译为一个名为OuterClassName$n.class

  • 相关阅读:
    Linux下用命令格式化U盘
    ABAP
    [Java 并发] Java并发编程实践 思维导图
    html和css实现一级菜单和二级菜单学习笔记
    小贝_mysql建表以及列属性
    Android.mk具体解释
    Maven之——坐标和依赖(上)
    让 Nginx 支持 WAF 防护功能web防火墙
    EZHTTP首页、文档和下载
    http://www.sshguard.net/
  • 原文地址:https://www.cnblogs.com/runningTurtle/p/7069851.html
Copyright © 2011-2022 走看看