内部类

作者: 阳光丶不错 | 来源:发表于2018-04-26 17:03 被阅读0次
特点:

上溯造型的时候,内部类除了对该类可以见,对任何父类和子类都不可见。
普通类不能被设置为protected何private类型,但是内部类可以。

分类:

非静态内部类,匿名内部类,局部内部类,静态内部类。

非静态内部类:

对象依赖外部类对象的存在而存在,会持有外部类对象的引用。
非静态内部类直接持有外部类的对象的引用
外部类不直接持有非静态内部类的对象的引用

匿名内部类:

匿名内部类的方法形参类型为final,匿名内部类中传入的变量与原变量不是同一个引用,是拷贝的变量,为了数据同步就不能够修改原变量,也就不存在修改完不同步的问题了。
匿名内部类无法声明构造函数。

局部内部类:

局部内部类和非静态内部类一样,但是其作用范围在作用域(scope)范围内,在作用域外部无法显式地引用或生成一个局部内部类的实例。
局部内部类直接持有外部类的对象的引用

Tips: 这三种内部类不能有任何static数据,包括static内部类,其对象的创建完全依赖外部类。

静态内部类:

不依赖外部类对象而存在
不能引用任何外部类的非static变量和方法

内部类的继承:

使用enclosingClassReference.super() ,在继承其他类的内部类的时候,构造器一定要传入一个其外部类的对象才能使用,并在构造器中利用传入的对象调用该对象的构造器,即在构造器中调用instance.super();

类的继承与内部类的覆盖

当子类继承父类时,拥有相同命名的内部类,这并不能够覆盖父类的内部类,其生成规则和调用还是根据对象的实际类型。

相关文章

  • 内部类

    成员内部类 局部内部类(定义在方法内和定义在作用域内的类) 匿名内部类

  • Java 内部类

    内部类包括成员内部类、方法内部类、*静态内部类、匿名内部类*。 内部类的作用 由于内部类的实现和外部类没有关系,内...

  • Java学习——内部类

    内部类 一,成员内部类(包括静态内部类和非静态内部类) 非静态内部类可以直接访问外部类的成员,反之则不行 非静态内...

  • Java 内部类、静态内部类、方法内部类(未完待续)

    内部类 什么是内部类?内部类其实就是在一个类中创建的类。内部类有四种: 成员内部类 静态内部类 局部内部类 匿名内...

  • java 内部类

    一般有四种内部类的使用方式: 嵌套的内部类 方法内的内部类 静态内部类 匿名内部类 什么时候用内部类: 有时候明显...

  • 内部类

    内部类 1.可以访问访问其外部类所有属性和方法,无需创建外部类对象 2.必须创建内部类对象,否则无法从外部类访问内...

  • Java 中的方法内部类

    Java 中的方法内部类 方法内部类就是内部类定义在外部类的方法中,方法内部类只在该方法的内部可见,即只在该方法内...

  • java——内部类

    内部类 定义: 内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。内...

  • java之面向对象5

    方法内部类: 简而言之就是定义在外部类的方法内的类。 方法内部类只在该方法的内部可见,即只在该方法内可以使用。 方...

  • Java 内部类

    1. 内部类 概念:在一个类的内部再定义一个完整的类内部类分为 4 类:成员内部类、静态内部类、局部内部类、匿名内...

网友评论

      本文标题:内部类

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