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”);
    }
    }

  • 相关阅读:
    Mvc+三层(批量添加、删除、修改)
    js中判断复选款是否选中
    EF的优缺点
    Git tricks: Unstaging files
    Using Git Submodules
    English Learning
    wix xslt for adding node
    The breakpoint will not currently be hit. No symbols have been loaded for this document."
    Use XSLT in wix
    mfc110ud.dll not found
  • 原文地址:https://www.cnblogs.com/wanxi/p/6476247.html
Copyright © 2011-2022 走看看