匿名内部类

Posted zoey686

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了匿名内部类相关的知识,希望对你有一定的参考价值。

 

内部类

内部类: 可以将一个类的定义放在另一个类的定义的内部, 这就是内部类

举个例子

Apple就是内部类

public class Test {

    class Apple {
        private String name;
        private int weight;
        Apple(String name, int weight) {
            this.name = name;
            this.weight = weight;
        }
        public void print() {
            System.out.println("apple : " + name + " " + weight); 
        }

    }
}

 

 

匿名内部类

函数式接口: 只定义了一个抽象方法的接口

 

 举个匿名类的例子:

public class test {
public static void main(String[] args) { Runnable r = new Runnable() { public void run() { System.out.println("Hello World"); } }; r.run(); } }

 

其中Runnable()是一个接口; 并且为函数式接口

Public interface Runnable {
        void run();
}

 

匿名内部类即实现一个接口并且不指定姓名, 而其只能实现 只有一个抽象方法的 接口

 

正常上面的例子

public class Test {
    public static void main(String[] args) {
        Runnable r =  new Rtest();
        r.run();
    }

}

class Rtest implements Runnable {
    public void run() {
        System.out.println("Hello World");
    }
}

 

 

 

以上是关于匿名内部类的主要内容,如果未能解决你的问题,请参考以下文章

50java 匿名内部类剖析

代码片--练习匿名内部类

匿名内部类创建线程,简化线程创建代码

关于接口配合匿名内部类使用的问题讲究

java内部类之成员内部类之匿名内部类

匿名内部类