zoukankan      html  css  js  c++  java
  • Inner Class和Static Nested Class的区别?

    Inner Class:内部类

    • 内部类就是在一个类的内部定义的类
    • 内部类中不能定义静态成员
    • 内部类可以直接访问外部类中的成员变量
    • 内部类可以定义在外部类的方法外面,也可以定义在外部类的方法体中
    • 在方法体外面定义的内部类的访问类型可以是public,protecte,默认的,private等4种类型
    • 方法内部定义的内部类前面不能有访问类型修饰符,可以使用 final 或 abstract 修饰符
    • 创建内部类的实例对象时,一定要先创建外部类的实例对象,然后用这个外部类的实例对象去创建内部类的实例对象
    • 内部类里还包含匿名内部类,即直接对类或接口的方法进行实现,不用单独去定义内部类
    //内部类的创建语法
    Outer outer = new Outer();
    Outer.Inner inner = outer.new Innner();

    Static Nested Class:静态嵌套类

    • 不依赖于外部类的实例对象
    • 能访问外部类的非 static 成员变量
    • 不能直接访问需要创建外部类实例才能访问非静态变量
    • 可以直接引用外部类的static的成员变量,不需要加上外部类的名字
    • 在静态方法中定义的内部类也是Static Nested Class
    //静态内部类创建语法
    Outter.Inner inner = new Outter.Inner();


       

    来一道刷了进BAT的面试题?

  • 相关阅读:
    php 创建多级文件夹
    php 格式化文件大小
    php 微信授权登录
    获取单据编号 不重复 骚
    js获取数组中的最后一个
    php截取
    循序栈
    链表
    顺序表
    halcon学习之阈值算子threshold operators
  • 原文地址:https://www.cnblogs.com/ConstXiong/p/11880258.html
Copyright © 2011-2022 走看看