02.匿名内部类
Posted 我是旺旺
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了02.匿名内部类相关的知识,希望对你有一定的参考价值。
描述:匿名内部类就是内部类的简化写法。
前提条件:存在一个类或者接口,这里的类可以是具体的类,也可以是抽象类。
格式:
固定格式写法(无理由的):
new 类名或者接口名() {
重写方法;
}
匿名内部类本质:
就是一个继承了该类或者实现了该接口的子类匿名对象。
该对象为:
new Inter() { //多态 public void show() { System.out.println("show"); } public void show2() { System.out.println("show2"); } }
具体实例:
/* 匿名内部类 就是内部类的简化写法。 前提:存在一个类或者接口 这里的类可以是具体类也可以是抽象类。 格式: new 类名或者接口名(){ 重写方法; } 本质是什么呢? 是一个继承了该类或者实现了该接口的子类匿名对象。 */ interface Inter { public abstract void show(); public abstract void show2(); } class Outer { public void method() { //一个方法的时候 /* new Inter() { public void show() { System.out.println("show"); } }.show(); */ //二个方法的时候 /* new Inter() { public void show() { System.out.println("show"); } public void show2() { System.out.println("show2"); } }.show(); new Inter() { public void show() { System.out.println("show"); } public void show2() { System.out.println("show2"); } }.show2(); */ //如果我是很多个方法,就很麻烦了 //那么,我们有没有改进的方案呢? Inter i = new Inter() { //多态 public void show() { System.out.println("show"); } public void show2() { System.out.println("show2"); } }; i.show(); i.show2(); } } class InnerClassDemo6 { public static void main(String[] args) { Outer o = new Outer(); o.method(); } }
以上是关于02.匿名内部类的主要内容,如果未能解决你的问题,请参考以下文章