2016 - 2024

感恩一路有你

匿名类一定是内部类吗 什么情况下使用匿名内部类?

浏览量:2715 时间:2021-03-13 09:52:35 作者:admin

什么情况下使用匿名内部类?

1. 内部类的第一个优点是隐藏您不想让其他人知道的操作,这就是封装。2非静态的内部类对象有对外部类对象的引用等等。

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

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

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

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

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

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

只创建对象,但你不能调用方法。修改以下代码:public void test(){new hello(){public void hellofun(){var=2}。你好。实际上,这段代码不能反映内部类对外部类字段的调用。简而言之:这在匿名类和内部类中:有时,我们会使用一些内部类和匿名类。在匿名类中使用时,它指的是匿名类或内部类本身。此时,如果要使用外部类的方法和变量,就应该添加外部类的类名

匿名类一定是内部类吗 匿名内部类为什么用final java匿名内部类的作用

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