java学习(67):匿名内部类
作者:互联网
package com.zx;
/*
2 匿名内部类
3 就是内部类的简化写法。
4
5 前提:存在一个类或者接口
6 这里的类可以是具体类也可以是抽象类。
7
8 格式:
9 new 类名或者接口名(){
10 重写方法;
11 }
12
13 本质是什么呢?
14 是一个继承了该类或者实现了该接口的子类匿名对象。
15 */
interface Inter {
public abstract void show();
public abstract void show2();
}
class Outer {
public void method(){
//一个方法的时候
/*
25 new Inter() {
26 public void show() {
27 System.out.println("show");
}
}.show();
*/
//二个方法的时候
/*
34 new Inter() {
35 public void show() {
36 System.out.println("show");
37 }
38
39 public void show2() {
40 System.out.println("show2");
41 }
42 }.show();
43
44 new Inter() {
45 public void show() {
46 System.out.println("show");
47 }
48
49 public void show2() {
50 System.out.println("show2");
51 }
52 }.show2();
*/
//如果我是很多个方法,就很麻烦了
//那么,我们有没有改进的方案呢?
Inter i = new Inter()
{ //多态
public void show() {
System.out.println("show");
}
public void show2() {
System.out.println("show2");
}
};
i.show();
i.show2();
}
}
class Inner {
public static void main(String[] args) {
Outer o = new Outer();
o.method();
}
}
运行结果
标签:java,show,void,System,匿名,67,println,public,show2 来源: https://blog.csdn.net/weixin_43392489/article/details/100155096