JAVA的匿名类详细介绍
答案:5 悬赏:30
解决时间 2021-11-26 07:40
- 提问者网友:我喜歡係
- 2021-11-25 23:25
JAVA的匿名类详细介绍
最佳答案
- 二级知识专家网友:情窦初殇
- 2021-11-25 23:48
匿名类顾名思义就是没有名字的类。
interface hello{
String start();
}
public class ok{
public String hello(){
return new hello(){ //这个个地方就是匿名类
String start(){ return "hello world"; }
}
}
}
interface hello{
String start();
}
public class ok{
public String hello(){
return new hello(){ //这个个地方就是匿名类
String start(){ return "hello world"; }
}
}
}
全部回答
- 1楼网友:悲观垃圾
- 2021-11-26 03:15
桌面开发 ME等用得较多
写几个例子 就明白了
解释没啥用
- 2楼网友:留下所有热言
- 2021-11-26 02:36
匿名类是不能有名称的类,所以没办法引用它们。必须在创建时,作为new语句的一部分来声明它们。这就要采用另一种形式的new语句,如下所示: new <类或接口> <类的主体> 这种形式的new语句声明一个新的匿名类,它对一个给定的类进行扩展,或者实现一个给定的接口。它还创建那个类的一个新实例,并把它作为语句的结果而返回。要扩展的类和要实现的接口是new语句的操作数,后跟匿名类的主体。如果匿名类对另一个类进行扩展,它的主体可以访问类的成员、覆盖它的方法等等,这和其他任何标准的类都是一样的。如果匿名类实现了一个接口,它的主体必须实现接口的方法。
java 代码
interface pr { void print1(); } public class noNameClass { public pr dest() { return new pr(){ public void print1() { System.out.println("Hello world!!"); } }; } public static void main(String args[]) { noNameClass c=new noNameClass(); pr hw=c.dest(); hw.print1(); } }
- 3楼网友:如果这是命
- 2021-11-26 01:08
JAVA的匿名类在JAVA 基础相关视频和书籍上都有很详细的介绍
- 4楼网友:瘾与深巷
- 2021-11-26 00:16
匿名类是不能有名称的类,所以没办法引用它们。必须在创建时,作为new语句的一部分来声明它们。
这就要采用另一种形式的new语句,如下所示:
new <类或接口> <类的主体>
这种形式的new语句声明一个新的匿名类,它对一个给定的类进行扩展,或者实现一个给定的接口。它还创建那个类的一个新实例,并把它作为语句的结果而返回。要扩展的类和要实现的接口是new语句的操作数,后跟匿名类的主体。
假如匿名类对另一个类进行扩展,它的主体可以访问类的成员、覆盖它的方法等等,这和其他任何标准的类都是一样的。假如匿名类实现了一个接口,它的主体必须实现接口的方法。
注重匿名类的声明是在编译时进行的,实例化在运行时进行。这意味着for循环中的一个new语句会创建相同匿名类的几个实例,而不是创建几个不同匿名类的一个实例。
从技术上说,匿名类可被视为非静态的内部类,所以它们具有和方法内部声明的非静态内部类一样的权限和限制。
假如要执行的任务需要一个对象,但却不值得创建全新的对象(原因可能是所需的类过于简单,或者是由于它只在一个方法内部使用),匿名类就显得非常有用。匿名类尤其适合在Swing应用程序中快速创建事件处理程序。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯