• 读书笔记——内部类


    1、内部类

      特性:内部类拥有其外部类所有元素的访问权,这个是编译器帮我们处理好了访问的细节。

    2、.this和.new

      2.1如果你想要在内部类中生成对外部类对象的引用,可以使用外部类的名字后面紧跟.this。这样产生的引用自动的具有正确的类型,这一点在编译期就被知晓并受到检查,因此没有任何运行时期的开销。

      2.2有时,在外部类的外边需要使用内部类的对象,这个时候就需要去创建一个内部类对象。但是必须使用外部类的对象去创建一个内部类对象

    3、在方法和作用域内的内部类——局部内部类

      局部内部类—— 一个定义在作用域内的类,此作用域在方法的内部

        像局部变量一样,不能被public, protected, private和static修饰。

        只能访问方法中定义的final类型的局部变量。

    4、匿名内部类——似乎是要创建一个对象的时候,但是你却说“等一等,我想在这里添加一个类的定义。”

      匿名内部类—— 没有构造函数

      匿名内部类其实有一种奇怪的语法,这种语法指的是:创建一个继承自X类(或接口)的匿名类的对象。通过new表达式返回的引用被自动向上转型为对X的引用。

    5、静态内部类——嵌套类

    6、闭包和回调

      闭包——是一个可调用的对象,它记录了一些信息,这些信息来自于创建它的作用域。

    7、内部类的继承

    8、内部类可以被覆盖吗?

      如果创建了一个内部类,然后继承其外围类并重新定义此内部类时,会发生什么呢?答案是:内部类并没有被覆盖,而且两个内部类属于完全独立的两个实体,各自有各自的命名空间。

    9、内部类标识符

      由于每个类都会产生一个.class文件,其中包含如何创建该类型对象的全部信息。内部类也会产生一个class文件已包含它们的Class对象信息,只不过这些文件命名有自己的规则:外围类的名字$内部类名字.class。

      如果类是匿名内部类,$符号后跟一个数字。

      

  • 相关阅读:
    抽象工厂模式
    外观模式
    策略模式
    状态模式
    观察者模式
    装饰者模式
    模板方法模式
    适配器模式
    中介者模式
    组合模式
  • 原文地址:https://www.cnblogs.com/sylz/p/5910421.html
Copyright © 2020-2023  润新知