Java匿名内部类的写法示例

网友投稿 606 2022-11-24


Java匿名内部类的写法示例

前言

在java中调用某个方法时,如果该方法的参数是一个接口类型,除了可以传入一个参数接口实现类,还可以使用匿名内部类实现接口来作为该方法的参数。

匿名内部类其实就是没有名称的内部类,在调用包含有接口类型参数的方法时,通常为零简化代码,不会创建一个接口的实现类作为方法参数传入,而是直接通过匿名内部类的形式传入一个接口类型参数,在匿名内部类中直接完成方法的实现。

创建匿名内部类的基本语法格式如下:

new 父接口(){

    //匿名内部类实现部分

}

示例

interface AgZhUcgdgnimal{

void shout();

}

public class Example21 {

public static void main(String[] args) {

String name="小花";

//定义匿名内部类作为参数传递给animalShout方法

animalShout(new Animal() {

//实现shout()方法

public void shout() {

//jdk8开始,局部内部类、匿名内部类课堂访问非final的局部变量

System.out.println(name+"喵喵。。。");

}

});

}

//定义静态方法animalShout(),接收接口类型参数

public static void animalShout(Animal an) {

an.shout();//调入传入对象an的shout()方法

}http://

}

注意:

在调用animalShout()方法时,在方法的参数位置上写上new Animal(){},这相当于创建了一个实例对象,并将对象作为参数传给animalShout()方法。在new Animal()后面有一对大括号表示创建的对象为Animal的子类实例,该子类是匿名的

总结


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java中求最大值的4种方法实例代码
下一篇:阿里规范:为何boolean类型变量命名禁用is开头
相关文章

 发表评论

暂时没有评论,来抢沙发吧~