匿名类是不能有名称的类,所以没办法引用它们。必须在创建时,作为new语句的一部分来声明它们。这就要采用另一种形式的new语句,如下所示: new <类或接口> <类的主体> 这种形式的new语句声明一个新的匿名类,它对一个给定的类进行扩展,或者实现一个给定的接口。它还创建那个类的一个新实例,并把它作为语句的结果而返回。要扩展的类和要实现的接口是new语句的操作数,后跟匿名类的主体。如果匿名类对另一个类进行扩展,它的主体可以访问类的成员、覆盖它的方法等等,这和其他任何标准的类都是一样的。如果匿名类实现了一个接口,它的主体必须实现接口的方法。
java 代码
1.interface pr
2.{
3. void print1();
4.}
5.
6.public class noNameClass
7.{
8. public pr dest()
9. {
10. return new pr(){
11. public void print1()
12. {
13. System.out.println("Hello world!!");
14. }
15. };
16.}
17.
18.public static void main(String args[])
19.{
20. noNameClass c = new noNameClass();
21. pr hw=c.dest();
22. hw.print1();
23.}
24.}
|