温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java内部类,为什么需要内部类?

发布时间:2020-08-06 23:53:02 来源:ITPUB博客 阅读:166 作者:夏末18844 栏目:数据库

为什么需要内部类? 解决了多继承的问题,继承具体或抽象类。

一般来说,内部类继承自某个类或实现某个接口,内部类的代码操作创建它的外围类的对象。所以可以认为内部类提供了某种进入其外围类的窗口。

内部类最吸引人的原因是:每个内部类都能独立地

继承自一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。 

如果没有内部类提供的、可以继承多个具体的或抽象的类的能力,一些设计与编程问题就很难解决。从这个角度看,内部类使得多重继承的解决方案变得完整。接口解决了部分问题,而内部类有效的实现了“多重继承”。也就是说,内部类允许继承多个非接口类型。

考虑这样一种情形:如果必须在一个类中以某种方式实现两个接口。由于接口的灵活性,你有两种选择:使用单一类或者使用内部类。但如果拥有的是抽象的类或具体的类,而不是接口,那就只能使用内部类才能实现多重继承。

使用内部类,还可以获得其他一些特性:

- 内部类可以有多个实例,每个实例都有自己的状态信息,并且与其外围类对象的信息相互独立。

- 在单个外围类中,可以让多个内部类以不同的方式实现同一个接口或继承同一个类。

- 创建内部类对象的时刻并不依赖于外围类对象的创建。

- 内部类并没有令人迷惑的is-a关系,它就是一个独立的实体。


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI