java学习回顾---内部类

内部类

内部类,即一个类定义在另一个类里面。里面哪个类即内部类,内部类可以直接访问外部类中的成员,包括私有成员。(因为内部类持有了一个外部类的引用,格式:外部类名.this)而外部类要访问内部类中的成员必须建立内部类的对象。
在这里插入图片描述

静态内部类

在这里插入图片描述
在这里插入图片描述
当描述事物时,事物的内部还有事物,该事物用内部类来描述。内部类的事物在使用外部事物的内容。内部类通常会进行封装,即私有化private,然后在创建一个函数来提供访问方法。

局部里的内部类

在这里插入图片描述

匿名内部类

方法少可以匿名内部类,方法多的话就要用内部类来继承外部类。
匿名内部类:
在这里插入图片描述
其中AbsDemo()是外部的static父类,这里直接建立static的父类,里面再把父类里的对象进行重写,然后直接调用abc()
在这里插入图片描述
内部类继承外部static父类:在这里插入图片描述

示例

在这里插入图片描述
分析:在这里插入图片描述
答案:在这里插入图片描述

补充

常用场景:在这里插入图片描述
注意:new Test();是新建test()的对象。如果是new Test(){
}那么是Test的子类对象。
new Test(){
Public Void function(){
}
}.function();是新建了一个test的子类对象并在里面写了一个function函数然后在调用了这个函数。
通过匿名内部类,我们可以在不新建static父类,不新建接口的情况下,调用一个函数,像这样:在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_46428711/article/details/110540033