今天学到匿名内部类的章节,觉得有点儿吃力,在老师案例的基础上,把内部类和匿名内部类做对比,掌握匿名内部类的特性和实质 
- /*
 
 - * A:匿名内部类
 
 -         * 就是内部类的简化写法。
 
 - * B:前提:存在一个类或者接口
 
 -         * 这里的类可以是具体类也可以是抽象类。
 
 - * C:格式:new 类名(继承)或者接口(实现)名(){
 
 -                         重写方法;
 
 -                 }
 
 - * D:本质是什么呢?
 
 -         * 是一个继承了该类或者实现了该接口的子类匿名对象。
 
 - * E:案例演示
 
 -         * 按照要求来一个匿名内部类
 
 - 两种实现方式:内部类、匿名内部类,下面分别使用两种方式,并进行对比
 
 - */
 
 - class Demo1_NoNameInnerClass {
 
 -         public static void main(String[] args) {
 
 -                 Outer o = new Outer();
 
 -                 o.method();
 
  
-                 Outer1 o1 = new Outer1();
 
 -                 o1.method();
 
 -         }
 
 - }
 
  
- 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();
 
 -                 }
 
 - }
 
  
- class Outer1 {                                      //匿名内部类来实现
 
 -         public void method() {
 
 -                 new Inter() {                                        //实现Inter接口
 
 -                         public void print() {                            //重写抽象方法   相当于: class Inner implements Inter
 
 -                                 System.out.println("print");
 
 -                         }
 
 -                 }.print();
 
 -         }
 
 - }
 
 
  复制代码 
 
 
 |