世界杯积分榜_世界杯几年一届 - fjmzsy.com

Java 快速理解匿名内部类,以及它的使用场景,注意事项

6394

Java 快速理解匿名内部类

这篇文章主要讲解Java中匿名内部类的使用以及注意事项。匿名:没有名字的意思。内部类:写在其他类内部的类。匿名内部类的作用是简化代码。

原本我们需要创建子类或者实现类,去继承父类和实现接口,才能重写其中的方法。但是有时候我们这样做了,然而子类和实现类却只使用了一次(定义了一个对象)。这个时候我们就可以使用匿名内部类,不用去写子类和实现类,起到简化代码的作用。

匿名内部类的格式:父类/接口 对象 = new 父类/接口(){ 重写父类/接口中的方法 };

这样做就把子类继承父类,重写父类中的方法,创建子类对象,合成了一步完成,减少了其中创建子类的过程。或者将实现类实现接口,重写接口中的方法,创建实现类对象,合成了一步完成,减少了其中创建实现类的过程。下面将会用代码演示如何使用匿名内部类。

1.创建使用匿名内部类格式:父类 对象 = new 父类(){ 重写父类中的方法 };

创建父类

public class Fu {

public void method(){

System.out.println("我是父类,你想继承我然后再去重写我的方法?");

}

}

创建Demo类

使用匿名内部类,直接重写父类的方法,省去创建子类继承父类的过程和创建子类对象的过程。

public class Demo {

public static void main(String[] args) {

//创建匿名内部类,直接重写父类的方法,省去了创建子类继承,创建子类对象的过程

Fu fu= new Fu(){

@Override

public void method() { //重写父类method方法

super.method();

}

};

fu.method(); //调用method方法

}

2.创建使用匿名内部类格式:接口 对象=new 接口(){ 重写接口中的方法 };

创建接口AnonymousInter

public interface AnonymousInter {

public abstract void eat();

}

创建Demo1类

使用匿名内部类,直接重写接口中的方法,省去创建实现类实现接口的过程和创建实现类对象的过程。

public class Demo1 {

public static void main(String[] args) {

//创建匿名内部类,省区了创建接口的实现类的过程,以及定义实现类对象的过程

AnonymousInter an=new AnonymousInter() {

@Override

public void eat() { //重写接口的eat方法

System.out.println("晚饭我吃了");

}

};

an.eat();

}

}

3.由上我们可以总结,匿名内部类在父类和接口中可以起到简化代码的作用。因为可以省去创建子类和实现类的过程。 我们可以直接利用父类和接口得到我们想要的东西,因此匿名内部类的最终产物是 子类/实现类对象。

4.如果想了解更多的JAVA知识,可以关注落花一叶知秋博主。博主会跟着大家一起成长。

隆重推出凯和倾天之战第四幕
注销网络简历方法有哪些?如何快速注销网络简历?