自学内容网 自学内容网

JAVA-内部类和匿名内部类

参考文献
https://blog.csdn.net/m0_73311735/article/details/127702688
https://blog.csdn.net/weixin_45861283/article/details/119344772

1.内部类
定义:将一个类 A 定义在另一个类 B 里面,里面的那个类 A 就称为内部类,B 则称为外部类。

特点:
(1)内部类可以直接访问外部类的成员,包括私有成员外部类要访问内部类的成员,必须要建立内部类的对象。
(2)访问格式为:

外部类名.内部类名 对象名 = new 外部类().new 内部类()

(3)内部类仍然是一个独立的类,在编译之后会内部类会被编译成独立的.class 文件,但是前面冠以外部类的类名和符号。

2.匿名内部类
匿名内部类 :是内部类的简化写法。
它的本质是一个带具体实现的父类或者父接口的 匿名的 子类对象。在开发过程中,最常用到的内部类就是匿名内部类了。
目的是为了实现接口并且调用接口内部的方法

以接口举例,FlyAble是个接口:

public class InnerDemo {
    public static void main(String[] args) {
        /**
        1.等号右边:是匿名内部类,定义并创建该接口的子类对象
        2.等号左边:是多态赋值,接口类型引用指向子类对象
        */
        FlyAble f = new FlyAble(){
            public void fly() {
                System.out.println("芜湖,起飞!!🕊");
            }
        };
        //调用 fly方法,执行重写后的方法
        f.fly();
    }
}

原文地址:https://blog.csdn.net/qq_42018605/article/details/141576529

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!