匿名内部类

  • 概念:匿名内部类是局部内部类的一种(必须写在方法里)

      * 就是内部类的简化写法。

  • 前提:存在一个类或者接口

* 这里的类可以是具体类也可以是抽象类。

  • 格式:

new 类名或者接口名(){

     重写方法;

}

Eg:

new Inter() {//实现Inter接口

重写抽象方法

}

  • 本质是什么呢?

* 是一个继承了该类或者实现了该接口的子类匿名对象。

  • 匿名内部类只针对重写一个方法时使用(因为调用多个方法得new多次,过于麻烦)
  • 匿名内部类不能向下转型,因为子类没有名字
public class Demo6 {

	public static void main(String[] args) {
		Outer5 o = new Outer5();
		o.method();

	}

}
interface Inter {
	public void print();
}
class Outer5 {
	public void method() {
		new Inter() {//实现了Inter接口的子类匿名对象
			public void print() {
				System.out.println(111);
			}
		}.print();//.之前的东西相当于一个对象
	}
	
}

 

你可能感兴趣的:(Java,匿名内部类,Java之理论基础)