zoukankan      html  css  js  c++  java
  • 成员内部类 局部内部类 匿名内部类

    内部类有:

      1. 成员内部类

      2. 局部内部类(匿名内部类)

    ============================================

    成员内部类

    定义在成员位置的类

    内用外,随意访问 ; 外用内,需要内部类对象

    如何使用成员内部类

    1. 间接方式: 通过外部类对象调用外部类方法,里面间接使用内部类

    2. 直接方式: 

    外类名.内类名  对象名  =  new  外类名().new  内类名(); :

    内部类重名变量的访问

    内部类的局部变量: 就近原则

    内部类的成员变量: this.变量名

    外部类的成员变量: 外类名.this.变量名

    ===========================================

    局部内部类

    一个类定义在一个方法的内部

    "局部" : 只有在当前所属的方法可以使用它,出了方法就不能用了

    局部内部类,如果访问所在方法的局部变量,那么这个局部变量必须是"有效final的"

    注: 从Java 8 开始,只要局部变量事实不变,那么final关键字可以省略

    ===========================================

     匿名内部类

    如果接口的实现类(或者父类的子类)只需要用一次,那么这种情况下就可以省略掉该类的定义,而改为使用"匿名内部类"

    格式 :

      接口名  对象名  =  new  接口名() {

        //覆盖重写所有抽象方法

      };

    解析 :

    1.new 代表创建对象的动作

    2.接口名称就是匿名内部类需要实现哪个接口

    3.{ ... } 是匿名内部类的内容

    注意 :

    1.匿名内部类在创建对象时,只能使用唯一一次

    2.注意匿名内部类和匿名对象的区别

    匿名内部类省略的是 实现类/子类名称 , 匿名对象省略的是 对象名称

    ===========================================

    类的权限修饰符

    1. 外部类: public default

    2. 成员内部类: 都可以

    3. 局部内部类: 什么都不能写

  • 相关阅读:
    WPF treeview 多层次绑定问题 HierarchicalDataTemplate 和 CompositeCollection
    Difference between Visibility.Collapsed and Visibility.Hidden
    WPF style的继承
    Asp.net个性化服务《系列03_购物车》
    SQLServer2005中的uniqueidentifier数据类型与NEWID()函数
    扉页语
    Asp.net个性化服务《系列01_概述》
    Asp.net个性化服务《系列02_快速的匿名用户个性化》
    2010年java课程体系
    easyui修改提示窗
  • 原文地址:https://www.cnblogs.com/bushishucai/p/9535755.html
Copyright © 2011-2022 走看看