Java第十二天-内部类

在这里插入图片描述

为什么需要内部类

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

      内部类必须要回答的一个问题是:如果只是需要一在这里插入代码片个对接口的引用,为什么不通过外围类实现那个接口呢?答案是:“如果这样能满足需求,那么就应该这样做。” 那么内部类实现一个接口与外围类实现这个接口有什么区别呢?

答案是:后者不是在那个能享用到接口带来的方便,有时需要用到接口的实现。所以,使用内部类最吸引人的原因是:

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

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

内部类允许继承多个非接口类型(类或抽象类)。

类的第五个成员:内部类

1.我们可以在类的内部再定义类,外面的类:外部类。类里面定义的类:内部类

2.内部类的分类:成员内部类(声明在类内部且方法外的),局部内部类(声明在类的方法里)

3.成员内部类:

1)是外部类的成员:①可以有修饰符(4个)

②static final

2)具体类的特点:①abstract

②可以在其内部定义属性,方法,构造器

4.局部内部类

5.关于内部类,掌握三点

1)如何创建成员内部类的对象
在这里插入图片描述
2)如何区分调用外部类,内部类的变量(尤其是变量重名时)
在这里插入图片描述

3)局部内部类的使用

猜你喜欢

转载自blog.csdn.net/qq_34343249/article/details/85057312