• 5.内部类


    1. 什么是内部类
      1. 将一个类的定义放在另一个类的内部,这就是内部类,原来的类称为外部类
      2. 分类(根据定义的位置与方式)
        1. 成员内部类:定义在类的内部
        2. 局部内部类:定义在一个方法或一个作用域里,相当于一个局部变量
        3. 匿名内部类:在需要实例化内部类的地方定义它(通常在方法体内,或参数中)
        4. 静态内部类:定义在类的内部,在类的前面多一个关键字static
    2. 内部类的作用
      1. 每个内部类都能独立的继承一个(接口的)实现,与外部类没关系
      2. 接口只解决了部分问题,而内部类的存在使得Java的多继承机制变得更加完善(允许继承多个非接口类型[类或抽象类)
      3. 图示
    3. 如何使用内部类
      1. 成员内部类

        1. 定义语法:同java的类
        2. 说明
          1. 内部类可访问外部类的所有属性和方法

          2. 内部类中访问的成员与外部类成员名称相同时的访问方式

            1. 默认访问的是内部类成员
            2. 使用:外部类名.this.成员(变量/方法)来访问外部类成员
            3. 图解
          3. 内部类拥有更多的访问权限

            1. 外部类只有:public和默认的访问权限(包的访问权限)
            2. 内部类其实是外部类的成员所以额外拥有:private,public的访问权限
            3. 图解
          4. 外部类如何访问内部类中成员

            1. 创建内部类实例,然后通过实例来访问内部类成员
      2. 局部内部类

        1. 定义语法:同java的类
        2. 说明
          1. 不能有public,protected,private,static修饰符
          2. 图解
      3. 匿名内部类

        1. 定义语法
          new 外部类名(){
          匿名内部类代码
          };
        2. 说明
          1. 注意点

          2. 用在方法中

          3. 用在参数中(监听效果时可用此编码风格)

      4. 静态内部类

        1. 定义语法:static class 类名{}
        2. 说明
          1. 静态内部类可直接创建实例
            1. 对静态内部类成员的访问不再需要外部类,用它直接创建对象即可
          2. 静态内部类可访问外部类的静态成员
          3. 图解
    4. 内部类在那些地方用
      1. 方便将存在一定逻辑关系的类组织在一起,又可以对外界隐藏
      2. 方便编写事件驱动程序
      3. 方便编写线程代码
    5. 关于内部类的笔试题
      1. 题1
        1. 内容
        2. 分析
        3. 答案
      2. 题2
      3. 题3
        1. 1和2的写法正确吗?有区别吗?说出原因
  • 相关阅读:
    vue项目 axios封装第二弹
    封装axios
    css基于文件格式使用不同的样式
    vue使用过程中的一些小技巧
    element-ui中单独引入Message组件的问题
    vue中axios复用封装
    OTA“多角恋”:携程闪电入股同程、途牛
    OTA(Online Travel Agent)
    网络时代
    互联网技术
  • 原文地址:https://www.cnblogs.com/River111/p/9561914.html
Copyright © 2020-2023  润新知