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 }
相关文章推荐
- Java中的内部类和匿名类
- java 匿名类的一道题
- java 匿名类
- Java中的内部类和匿名类
- Java中的内部类和匿名类
- Java教程--Java匿名类
- java 匿名类
- Java中的内部类和匿名类
- 内部类和匿名类优化Java代码
- 使用内部和匿名类优化Java代码
- Java 学习笔记 (9) - Java 事件机制 内部匿名类的应用
- 内部类和匿名类优化Java代码
- 关于JAVA匿名类和内部类的一点讨论
- Java中的内部类和匿名类
- Java 中的四种嵌套类:嵌套静态类、成员类、本地类和匿名类
- Java中的内部类和匿名类
- Java中的内部类和匿名类
- 使用内部和匿名类优化Java代码
- 对Java中匿名类的一些思考
- Java中的内部类和匿名类(转)