什么是匿名内部类什么时侯用?

7 Anonymous inner class

马克-to-win:有时如此简单,都没有必要清清楚楚明确出类名,用一下就完,就用匿名内部类。注意: 下面的new FigureMark_to_win(){。。。。};的语法形式。它和以往的new FigureMark_to_win()不同,现在的这个new的是FigureMark_to_win的子类(否则“我啥也不是”, 应该被打印出来。)。

例2.7_0:

class FigureMark_to_win {
    void whoAmI(){
       System.out.println("我啥也不是");    
    }
}
class Triangle extends FigureMark_to_win {
    void whoAmI() {
        System.out.println("三角形!");
    }
}
public class Test {
    public static void main(String[] args) {
        Triangle d = new Triangle();
        d.whoAmI();
        new Triangle().whoAmI();//连指针都省了
/* 马克-to-win:下面这句程序,都没有像上面一样提出一个Triangle类的概念,主要是如此简单,都没有必要清清楚楚明确出类名,所以就直接 new FigureMark_to_win(){。。。。}; ,马克-to-win: 大家注意一下格式和分号。 even though the next statemnt new a abstract class which is not
allowed, it implement the method of whoAmI, so it is not the real abstract class instantiation.
*/
        FigureMark_to_win a = new FigureMark_to_win() {
            void whoAmI() {
                System.out.println("长方形!");
            }
        };
        a.whoAmI();
        new FigureMark_to_win() {
            void whoAmI() {
                System.out.println("圆形");
            }
        }.whoAmI();//连指针都省了
    }
}

 

更多请见:https://blog.csdn.net/qq_44639795/article/details/103109855

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mark_to_win

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值