黑马程序员技术交流社区

标题: 匿名内部类学习笔记 [打印本页]

作者: 西贝    时间: 2016-1-27 15:39
标题: 匿名内部类学习笔记
今天学到匿名内部类的章节,觉得有点儿吃力,在老师案例的基础上,把内部类和匿名内部类做对比,掌握匿名内部类的特性和实质
  1. /*
  2. * A:匿名内部类
  3.         * 就是内部类的简化写法。
  4. * B:前提:存在一个类或者接口
  5.         * 这里的类可以是具体类也可以是抽象类。
  6. * C:格式:new 类名(继承)或者接口(实现)名(){
  7.                         重写方法;
  8.                 }
  9. * D:本质是什么呢?
  10.         * 是一个继承了该类或者实现了该接口的子类匿名对象。
  11. * E:案例演示
  12.         * 按照要求来一个匿名内部类
  13. 两种实现方式:内部类、匿名内部类,下面分别使用两种方式,并进行对比
  14. */
  15. class Demo1_NoNameInnerClass {
  16.         public static void main(String[] args) {
  17.                 Outer o = new Outer();
  18.                 o.method();

  19.                 Outer1 o1 = new Outer1();
  20.                 o1.method();
  21.         }
  22. }

  23. interface Inter {
  24.         public void print();
  25. }

  26. class Outer {                                                     //内部类来实现
  27.         class Inner implements Inter {
  28.                 public void print() {
  29.                         System.out.println("print");
  30.                 }
  31.         }

  32.         public void method(){
  33.                 Inner i = new Inner();
  34.                 i.print();
  35.                 }
  36. }

  37. class Outer1 {                                      //匿名内部类来实现
  38.         public void method() {
  39.                 new Inter() {                                        //实现Inter接口
  40.                         public void print() {                            //重写抽象方法   相当于: class Inner implements Inter
  41.                                 System.out.println("print");
  42.                         }
  43.                 }.print();
  44.         }
  45. }
复制代码




作者: 许庭洲    时间: 2016-2-1 09:06
值得学习ing!
作者: tujiu888    时间: 2016-2-1 14:12
匿名内部类在开发中非常实用
作者: Android666    时间: 2016-2-11 21:40
感谢分享




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2