分享

java程序员修炼之路基础篇九:内部类

 新用户8719ag3P 2022-01-05

  "内部类"在java开发中的应用并不是很多,所以很多程序员在对内部类的应用上并不是很清楚,今天我就跟大家聊一聊"内部类"的概念及使用。

  "内部类"简单说就是在一个类的内部又定义了一个类,这个定义在已知类内部的类就称为"内部类"。由于是定义在一个已知类的内部,所以它在很多方面的表现和普通类有不同,可以说"内部类"既是类又是类中的一个模块。下面我把内部类具备的特点做一下总结,同时用相应的实例来验证对应的概念。

  1."内部类"虽然有不同于普通类的特性,但是它终归是类,是类就必须能创建对象并调用其中的方法来执行功能,这是定义类的意义。而内部类创建对象的过程较普通类有不同,同时内部类的范围限定也可以任意定义,甚至可以使用private,看下面的实例:

  java程序员修炼之路基础篇九:内部类

  "内部类"中可以定义属性,这些属性可以被其所在的普通类访问,甚至是可以访问"内部类"的私有属性。当这些属性出现重名情况时,需要进行访问限定修饰,看下面的实例:

  java程序员修炼之路基础篇九:内部类

  类的内部可以定义"内部接口",且可以定义另外一个"内部类"实现这个"内部接口",但是普通外部类则无法去实现这个"内部接口"。同样,可以定义一个"内部抽象类",且可以定义另外一个"内部类"继承它,看一个实例

  java程序员修炼之路基础篇九:内部类

  "内部类"中不能定义static类型的元素,但是"内部类"本身可以使用static来进行修饰,这时候它将升级为"顶级普通类",自然就具备了普通类的特性。同样,"内部接口"也可以定义为static类型,此时这个"内部接口"就可以被外部普通类实现,升级为普通接口,看一个实例:

  java程序员修炼之路基础篇九:内部类

  "内部类"可以再进一步进行嵌套,构建对象时则需要按层进行构建,看一个实例:

  java程序员修炼之路基础篇九:内部类

  方法中也可以定义"内部类",方法中的"内部类"在事件处理中比较常见,在jdk1.8版本之前如果"内部类"需要访问其所在方法中的局部属性,则这个局部属性需要用final修饰。jdk1.8版本就不需要进行这个操作了,但是其本质还是final的,是不能对其进行修改的,看一个例子:

  java程序员修炼之路基础篇九:内部类

  总的来说"内部类"在java开发中用的不多,主要使用在java事件处理的过程中,以及一些需要"内部类"特性的程序开发中。下一篇文章我将跟大家探讨一下java的"输入输出",请大家持续关注。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多