Java 内部类知识梳理

Java引入内部类的真正意义就在于,还是有很多情况,没有内部类是处理不了的,或者用内部类处理起来更加优雅

Java引入内部类的真正意义就在于,还是有很多情况,没有内部类是处理不了的,或者用内部类处理起来更加优雅

内部类:成员内部类、静态嵌套类、方法内部类、匿名内部类。

典型的情况是,内部类继承自某个类或实现某个接口,内部类的代码操作创建其他外围类的对象。所以你可以认为内部类提供了某种进入其外围类的窗口。使用内部类最吸引人的原因是:

每个内部类都能独立地继承自一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。如果没有内部类提供的可以继承多个具体的或抽象的类的能力,一些设计与编程问题就很难解决。从这个角度看,内部类使得多重继承的解决方案变得完整。接口解决了部分问题,而内部类有效地实现了"多重继承"。

当A,B两个类需要互相访问对方的成员变量和方法,而又不能牺牲B的封装性的时候,就可以把B放到A类内部,这样即使B类设置成private,A类也可以访问,这样就既保留了B的封装性又满足了A类的访问需求

好处就是内部复杂的机制隐藏起来了,你可以看到config拿到了之后,用户就不能随意更改了,参数只能get出来,使暴露的接口更加简洁。

原文地址:https://www.cnblogs.com/yuanhailiang/p/8795486.html