匿名内部类

  • 匿名内部类
    • 接口的匿名内部类
    • 继承的匿名内部类

匿名内部类

在日常编写代码的过程中,总是会遇到匿名内部类的使用,但是对这一块一直不是很熟,所以这里总结记录一下。只讲实用。

接口的匿名内部类

正常如果要使用一个接口,如下代码:

public interface Kp {
    public abstract void show();
}
public class KpImpl implements Kp{
    @Override
    public void show() {
        System.out.println("show");
    }
}
 public static void main(String[] args) {
        Kp kp =new KpImpl();
        kp.show();
    }

可以发现,要想使用Kp这个接口,还要先为他写一个实现类。

下面是使用匿名内部类:

public interface Kp {
    public abstract void show();
}
public static void main(String[] args) {
        Kp kp =new Kp(){
            public void show(){
                System.out.println("show");
            }
        };
        kp.show();
    }

使用了匿名内部类,我们就只需要知道该接口和要实现的方法就行了。

继承的匿名内部类

public class Kp {
    public void show(){
        System.out.println("show一下");
    }
}
public static void main(String[] args) {
        Kp kp =new Kp(){
            public void show(){
                System.out.println("show");
            }
        };
        kp.show();
    }

可以看到,不需要额外写一个子类去重写父类Kp中的show方法,而是直接在匿名内部类中重写就行。

你可能感兴趣的:(JAVA,java,开发语言)