加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

就是要让你学会内部类

发布时间:2021-03-07 13:22:42 所属栏目:外闻 来源:互联网
导读:上述代码中,In这个类就是一个静态内部类。我们说内部类是可以访问外部类的私有字段和私有方法的,对于静态内部类,它遵循一致的原则,只能访问外部类的静态成员。 上述代码中,外部类的非静态私有字段age在静态内部类中是不允许访问的,而静态字段name则是

上述代码中,In这个类就是一个静态内部类。我们说内部类是可以访问外部类的私有字段和私有方法的,对于静态内部类,它遵循一致的原则,只能访问外部类的静态成员。

上述代码中,外部类的非静态私有字段age在静态内部类中是不允许访问的,而静态字段name则是可访问的。下面我们看,如何创建一个静态内部类的实例对象。
 

用场景,一般来说,对于和外部类联系紧密但是并不依赖于外部类实例的情况下,可以考虑定义成静态内部类。下面我们看稍显复杂的成员内部类。

成员内部类

我们说了,四种不同类型的内部类都各自有各自的使用场景,静态内部类适合于那种和外部类关系密切但是并不依赖外部类实例的情况。但是对于需要和外部类实例相关联的情况下,可以选择将内部类定义成成员内部类。

以下代码定义了一个简单的成员内部类:




 

为成员内部类是关联着一个具体的外部类实例的,所以它的实例创建必然是由外部类实例来创建的。

对于实例的创建,我们只需要记住即可,成员内部类的实例创建需要关联外部类实例对象,静态内部类实例创建相对简单。下面我们主要看看在编译阶段编译器是如何保持内部类对外部类成员信息可访问的。

使用场景,对于那种要高度依赖外部类实例的情况下,定义一个成员内部类则会显的更加明智。

方法内部类

方法内部类,顾名思义,定义在一个方法内部的类。方法内部类相对而言要复杂一些,下面定义一个方法内部类:

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读