Java内部类详解:如何使用匿名内部类?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1937个文字,预计阅读时间需要8分钟。
今天来看看另一个更加神秘的类——无名内部类。就像它的名字所表示的那样,这个类是匿名的,用完后,它的功能与名字一样,就像扫过地面那样,默认潜藏于深山之中。无名内部类不仅没有名字,而且也没有任何其他标识。
今天来看看另一个更加神奇的类——匿名内部类。
就像它的名字表示的那样,这个类是匿名的,用完之后,深藏功与名,就像扫地僧那样默默潜藏于深山之中。匿名内部类不仅没有名字,连class关键字都省掉了,而且匿名内部类必须继承于某个类或者实现某个接口,长的就像这样:
new 父类(参数列表)|实现接口() { //匿名内部类的内部定义 }
来看一个栗子:
public abstract class Human { public abstract void walk(); }
这是一个抽象类,如果使用匿名内部类来继承的话是这样的:
public class AnonymousTest { public static void main(String[] args) { Human human = new Human(){ public void walk(){ System.out.println("AnonymousHuman can walk."); }; }; human.walk(); } }
简单粗暴,看起来就像局部内部类的简化版。
本文共计1937个文字,预计阅读时间需要8分钟。
今天来看看另一个更加神秘的类——无名内部类。就像它的名字所表示的那样,这个类是匿名的,用完后,它的功能与名字一样,就像扫过地面那样,默认潜藏于深山之中。无名内部类不仅没有名字,而且也没有任何其他标识。
今天来看看另一个更加神奇的类——匿名内部类。
就像它的名字表示的那样,这个类是匿名的,用完之后,深藏功与名,就像扫地僧那样默默潜藏于深山之中。匿名内部类不仅没有名字,连class关键字都省掉了,而且匿名内部类必须继承于某个类或者实现某个接口,长的就像这样:
new 父类(参数列表)|实现接口() { //匿名内部类的内部定义 }
来看一个栗子:
public abstract class Human { public abstract void walk(); }
这是一个抽象类,如果使用匿名内部类来继承的话是这样的:
public class AnonymousTest { public static void main(String[] args) { Human human = new Human(){ public void walk(){ System.out.println("AnonymousHuman can walk."); }; }; human.walk(); } }
简单粗暴,看起来就像局部内部类的简化版。

