编程语言
首页 > 编程语言> > java学习(67):匿名内部类

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