您的位置:首页 > 编程语言 > Java开发

Java匿名类

2017-02-24 13:20 190 查看
public class Person
{
public void hello()
{
System.out.println("我是Person");
}
}


1 public class Main
2 {
3     /**
4      * 主函数,程序的入口
5      * @param args
6      */
7     public static void main(String[] args)
8     {
9         final int num=90;//局部变量
10
11         //匿名类
12         Person p1=new Person(){
13
14             @Override
15             public void hello()
16             {
17                 System.out.println("我是匿名类"+" "+"外部类中的局部变量num="+num);
18             }
19         };
20
21         p1.hello();
22     }
23 }


  


显然内部类可以访问外部类的局部变量。

匿名类原理

原理解析:

Person p1=new Main$1();

而Main$1是个类,也就是匿名类,定义如下:


1 package yydl;
2
3 import java.io.PrintStream;
4
5 class Main$1 extends Person
6 {
7     public void hello()
8     {
9         System.out.println("我是匿名类 外部类中的局部变量num=90");
10     }
11 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: