zoukankan      html  css  js  c++  java
  • java基础篇 之 非静态内部类

    什么是非静态内部类:
    public class Outer {
        Outer() {
            System.out.println("我是外部类");
        }
    
        class Inner {
            Inner() {
                System.out.println("我是内部类");
            }
        }
    
    }
    

    如上所示,Inner就是一个非静态内部类。

    我们需要的知道是:

    1. 非静态内部类默认持有一个外部类对象的引用
    2. 非静态内部类有外部类对象中所有对象跟属性的访问权限
    .this跟.new的使用:

    我们可以在内部类对象中,使用外部类名.this获取一个外部类对象,像这样:

     class Inner {
            Inner() {
            Outer out = Outer.this;
                System.out.println("我是内部类");
            }
        }
    

    这实际上就是我们说的内部类中,默认持有一个外部类的对象的引用。

    我们在创建一个内部类对象时需要用到.new语法,像这样:

    Outer.Inner inner = new Outer().new Inner();
    
  • 相关阅读:
    导航守卫
    asnyc
    扩展运算符 ···
    模版字符串
    iterator迭代器
    箭头函数
    解构
    变量let const
    vueUI可视化
    python图像特征提取
  • 原文地址:https://www.cnblogs.com/daimzh/p/12854444.html
Copyright © 2011-2022 走看看