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

  • 相关阅读:
    Hibernate关于字段的属性设计
    Hibernate之增删查改常见错误
    Hibernate之实体类设计基本步骤
    Github开源之旅第二季-MarkDown
    8.Git命令(上)
    9.Git命令(下)
    7.Git Bash操作的四个坑(基本LINUX操作)
    Webserver-HTTP项目(深入理解HTTP协议)
    JAVA入门到精通-第94讲-山寨QQ项目8-好友在线提示
    JAVA入门到精通-第93讲-山寨QQ项目7-好友在线提示
  • 原文地址:https://www.cnblogs.com/runningTurtle/p/7069851.html
Copyright © 2011-2022 走看看