javaweb简易商品购物系统 java中,匿名内部类有什么作用?
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”}})}}
1。内部类:内部类是在另一个类中定义的类。使用它有三个主要原因:内部类方法可以访问类定义范围内的数据,包括私有数据。当您想定义回调函数并且不想编写大量代码时,可以对同一个包中的其他类隐藏内部类使用匿名内部类很方便。
2. 局部内部类:在讨论匿名内部类之前,让我们先看一下在方法中定义的局部内部类。不能使用公共或私有访问说明符声明本地内部类。它的作用域仅限于声明局部内部类的块。局部内部类可以对外部世界完全隐藏。局部内部类不仅可以访问它们的外围类,还可以访问局部变量。但是,这些局部变量必须声明为final,如上面代码中start()方法的参数beep所示。
3. 匿名内部类修改上面本地内部类的代码,以定义一个没有类名的匿名内部类。除了内部类的优点外,匿名内部类还可以减少代码量。
内部类和匿名内部类是什么?有什么作用?
事实上,匿名类相当于实现接口或抽象类的具体类,它不是抽象类或接口,因此可以实例化。在匿名内部类中,必须实现抽象方法或接口方法,否则会报告错误,即匿名类可以实例化,因此匿名内部类不是例外。
JAVA相关,抽象类和接口不是不能直接实例化吗,那在匿名内部类中为什么就可以直接用new来实例化了?
非静态内部类,通常用作闭包,主要用于传递一段代码进行回调。静态内部类和顶级类之间没有区别,但它被用作一种名称空间。内部类可以重用。匿名内部类通常只使用一次。但是,如果代码很长,为了美观,可以将匿名内部类转换为内部类。
javaweb简易商品购物系统 匿名类一定是内部类吗 内部类的实现方式
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。