匿名内部类

** 匿名内部类

* 它是局部内部类的简化格式

* 前提: 需要存在一个类或者接口 ; 这个类可以是抽象类, 也可以是非抽象类 ;

* 格式:

new 类名/接口名() {

方法重写 ;

} ;

* 本质: 就是一个继承某一个类或者实现某一个接口的子类对象


public class aa {
	public static void main(String[] args) {
		Outer o = new Outer();
		o.method();
	}
}

/*
A:匿名内部类 就是内部类的简化写法。
B:前提:存在一个类或者接口 这里的类可以是具体类也可以是抽象类。 
C:格式:new 类名或者接口名(){ 重写方法; }
D:本质是什么呢? 是一个继承了该类或者实现了该接口的子类匿名对象。 
E:案例演示 按照要求来一个匿名内部类
*/

interface Inter {
	public void print();
}

class Outer {
	class Inner implements Inter {
		public void print() {
			System.out.println("print");
		}
	}

	public void method() {
		// Inner i = new Inner();
		// i.print();
		// new Inner().print();
		// Inter i = new Inner(); //父类引用指向子类对象

		new Inter() { // 实现Inter接口
			public void print() { // 重写抽象方法
				System.out.println("print");
			}
		}.print();
	}
}

 

posted on 2017-02-15 22:47  LoaderMan  阅读(351)  评论(0编辑  收藏  举报

导航