zoukankan      html  css  js  c++  java
  • 读书笔记——内部类

    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。

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

      

  • 相关阅读:
    无限维
    黎曼流形
    why we need virtual key word
    TOJ 4119 Split Equally
    TOJ 4003 Next Permutation
    TOJ 4002 Palindrome Generator
    TOJ 2749 Absent Substrings
    TOJ 2641 Gene
    TOJ 2861 Octal Fractions
    TOJ 4394 Rebuild Road
  • 原文地址:https://www.cnblogs.com/sylz/p/5910421.html
Copyright © 2011-2022 走看看