2016 - 2024

感恩一路有你

java常用的编译器 匿名内部类,内部类,静态内部类的区别和联系?

浏览量:2164 时间:2021-03-12 10:20:33 作者:admin

匿名内部类,内部类,静态内部类的区别和联系?

非静态内部类,通常用作闭包,主要用于传递一段代码进行回调。静态内部类和顶级类之间没有区别,但它被用作一种名称空间。内部类可以重用。匿名内部类通常只使用一次。但是,如果代码很长,为了美观,可以将匿名内部类转换为内部类。

内部类和匿名内部类是什么?有什么作用?

1. 内部类:内部类是在另一个类中定义的类。使用它有三个主要原因:内部类方法可以访问类定义范围内的数据,包括私有数据。当您想定义回调函数并且不想编写大量代码时,可以对同一个包中的其他类隐藏内部类使用匿名内部类很方便。

2. 局部内部类:在讨论匿名内部类之前,让我们先看一下在方法中定义的局部内部类。不能使用公共或私有访问说明符声明本地内部类。它的作用域仅限于声明局部内部类的块。局部内部类可以对外部世界完全隐藏。局部内部类不仅可以访问它们的外围类,还可以访问局部变量。但是,这些局部变量必须声明为final,如上面代码中start()方法的参数beep所示。

3. 匿名内部类修改上面本地内部类的代码,以定义一个没有类名的匿名内部类。除了内部类的优点外,匿名内部类还可以减少代码量。

java中,匿名内部类有什么作用?

您需要了解什么是内部类、内部类做什么、Java多态性以及回调函数是什么。匿名内部类作为函数的参数传递给方法。在这个方法中,匿名类被接口类型接受,然后调用它的方法,即多态性。其原理是实现回调。因为它将调用匿名内部类中的方法。让我给你一个例子:手工点击的代码,未测试的接口{string go()}class test(){public void prtgo(interface IA){系统输出打印(ia.o())}公共静态void main(String[]args){Test t=new Test()t.prtGo(new InterfaceA(){public String go(){return “go”}}}}

java常用的编译器 匿名内部类的作用 什么是匿名内部类

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。