zoukankan      html  css  js  c++  java
  • Java匿名类

    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 }
  • 相关阅读:
    面向对象高级
    面向对象基础总结
    面向对象基础剩余
    组合和封装
    继承与派生
    面向对象
    4.10
    4.9
    常用模块
    【转】CentOS: 开放80、22、3306端口操作
  • 原文地址:https://www.cnblogs.com/sundy-lee/p/5186469.html
Copyright © 2011-2022 走看看