JavaSE-12.2.3【匿名内部类】

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package day3.yub4by02.p3;
 
/*
2.4 匿名内部类
 
    匿名内部类的前提
        存在一个类或者接口,这里的类可以是具体类也可以是抽象类
    匿名内部类的格式
        new 类名/接口名(){
            重写方法;
        };
    匿名内部类的本质
        是一个继承了该类或者实现了该接口的子类匿名对象
    匿名内部类的细节
        匿名内部类可以通过多态的形式接受
    匿名内部类直接调用方法
 
 */
 
public class OuterDemo {
 
    public static void main(String[] args) {
        Outer o = new Outer();
        o.method();
    }
 
}

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package day3.yub4by02.p3;
 
public class Outer {
 
    public void method(){
 
        /*new Inter(){
            @Override
            public void show() {
                System.out.println("匿名内部类实质是对象");
            }
        };*/
 
        /*new Inter(){
            @Override
            public void show() {
                System.out.println("匿名内部类实质是对象");
            }
        }.show(); // 对象调用方法*/
 
        Inter i = new Inter(){
            @Override
            public void show() {
                System.out.println("匿名内部类实质是对象");
            }
        };
        i.show(); //编译看父类/接口,执行看子类/实现
        i.show();
        i.show();
 
    }
 
}

  

1
2
3
4
5
6
7
package day3.yub4by02.p3;
 
public interface Inter {
 
    void show();
 
}

  

posted @   yub4by  阅读(38)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示