内部类

作者: 后来丶_a24d | 来源:发表于2020-10-12 10:50 被阅读0次

    目录

    目录.png

    内部类

    final关键字

    1. 修饰属性或者参数时表示指向不可变
    2. final static 这种编译了就定了的常量
    3. 方法或类表示不可被继承改变

    子类父类执行顺序

    • 类中先staic再属性赋值操作(如果有),然后再构造器。有父类先执行父类,再执行子类属性赋值
    • java 8中可以加默认方法和静态方法

    内部类细节

    • 非静态内部类(比如迭代器模式就是这么用的)自动拥有对其外部类所有成员的访问权,当某个外部类的对象创建了一个内部类对象时,此内部类对象必定会秘密地捕获一个指向那个外部类对象的引用。 一般内部类都会有外部类提供一个方法返回内部类。在单个外部类中,可以让多个内部类以不同的方式实现同一个接口,或继承同一个类。当将内部类向上转型为其基类,尤其是转型为一个接口的时候,内部类就有了用武之地。
    • 如果定义一个匿名内部类,并且希望它使用一个在其外部定义的对象,那么编译器会要求其参数引用是 final 的,以保证数据一致性。 lambda 表达式来实现闭包行为,也就是内名内部类。
    • 将内部类声明为 static,这通常称为嵌套类要创建嵌套类的对象,嵌套类并不需要其外部类的对象。不能从嵌套类的对象中访问非静态的外部类对象。内部类是面向对象的闭包。
    • 内部类可以被继承需要构造器特殊语法wi.super(); 覆盖内部类就好像它是外部类的一个方法,其实并不起什么作用
    • 局部内部类而不使用匿名内部类的另一个理由就是,需要不止一个该内部类的对象
    • 内部类标识LocalInnerClass$LocalCounter.class, 静态内部类适用于包含类当中,但又不依赖与外在的类,不用使用外在类的非静态属性和方法,只是为了方便管理类结构而定义

    参考文章

    相关文章

      网友评论

          本文标题:内部类

          本文链接:https://www.haomeiwen.com/subject/oojupktx.html