匿名内部类的理解

匿名内部类是Java中一种无名称的嵌套类,常用于简化代码,尤其是当只需要一次性实现某个接口或类的方法时。文章通过示例展示了如何使用匿名内部类直接在调用处创建并实现接口,避免了为单次使用创建单独类的冗余。
摘要由CSDN通过智能技术生成

匿名内部类的详细解读

匿名内部类,就是没有名字的一种嵌套类。它是Java对类的定义方式之一。

为什么要使用匿名内部类?

在实际开发中,我们常常遇到这样的情况:一个接口/类的方法的某个实现方式在程序中只会执行一次,但为了使用它,我们需要创建它的实现类/子类去实现/重写。此时可以使用匿名内部类的方式,可以无需创建新的类,减少代码冗余。

假设当前有一个接口,接口中只有一个方法

package itheima11;

public interface Interface01 {

void show();

}

为了使用该接口的show方法,我们需要去创建一个实现类,同时书写show方法的具体实现方式

public class In implements Interface01 {
@Override
public void show() {
System.out.println(“I’m a impl class…”);
}
}

如果实现类Interface01Impl全程只使用一次,那么为了这一次的使用去创建一个类,未免太过麻烦。我们需要一个方式来帮助我们摆脱这个困境。匿名内部类则可以很好的解决这个问题。
我们使用匿名内部类

public class In {
public static void main(String[] args) {
Interface01 interface01 = new Interface01() {
@Override
public void show() {
System.out.println(“我是匿名内部类”);
}

    };

    interface01.show();
}

此时我们发现此类不需要继承接口,只需在下面的方法里面new一个接口来使用。
所以这个类全局可以继续使用,不能因为这个就单单写一个类

匿名内部类的简便方法

public class In {

public static void main(String[] args) {
    Interface01 interface01 = new Interface01() {
        @Override
        public void show() {
            System.out.println("我是匿名内部类");
        }

    };

    interface01.show();
    
    
    new Interface01(){

        @Override
        public void show() {
            System.out.println("我是匿名内部类的快捷方法,我也是匿名内部类");
        }
    }.show();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值