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

    匿名内部类的全称是Anonymous inner type。注意,这里的“类”指代的是“type”,而不是class这个关键字。抽象类和接口可以使用匿名内部类。

    这里是一个小的匿名内部类的demo:

    public class Q {
        public static void main(String[] args) {
            A a = new A();
            a.use(new B() {
                public void show() {
                    System.out.println("Anonymous inner type");
                }
            });
        }
    }
    
    class A{
        public void use(B b){
            b.show();
        }
    }
    
    abstract class B{
        abstract void show();
    }

    解析:A类中定义了一个成员方法use(B b),该方法接收类型为B的参数。B类为抽象类,其中定义了一个抽象方法show()。B类不能直接创建对象,必须实现抽象类B中的抽象方法才能实例化。

    创建抽象类B的代码如下。以下代码只是在堆内存中创建了该对象,但并没有将该对象的地址值赋值给引用变量。怎么理解引用变量?举个例子:X x = new X();中的x就是引用变量。引用变量就代表存在在堆内存中某个对象地址值的引用,就像人的名字一样。这里没有“名字”,当然就是匿名的了。
    new B(){
    public void show(){
    System.out.println(“Anonymous inner type”);
    }
    }

  • 相关阅读:
    linux之scp
    Supervisor之浅谈
    Linux 命令之 2>&1 &
    python多线程实现异步
    python之多进程demo1
    二分查找(python)
    awk命令之小结1
    修改文件权限之chmod
    处理日期数据
    stack unstack pivot 数据的透视
  • 原文地址:https://www.cnblogs.com/wanxi/p/6476247.html
Copyright © 2011-2022 走看看