黑马程序员技术交流社区

标题: 匿名内部类这样创建对象,对吗? [打印本页]

作者: LuckyQS    时间: 2014-1-4 12:44
标题: 匿名内部类这样创建对象,对吗?
本帖最后由 LuckyQS 于 2014-1-6 11:14 编辑

可不可以这样做

QQ截图20140104124425.jpg (41.31 KB, 下载次数: 18)

QQ截图20140104124425.jpg

作者: 董月峰    时间: 2014-1-4 13:27
可以,父类中有这俩抽象方法可以这么写
如果你在匿名内部类中再定义个void function1()
后面就不能跟ad.新方法了
作者: 圜谎    时间: 2014-1-4 13:39

可以啊只要调用的方法在父类中有定义就行
  1. abstract class AbsDemo
  2. {
  3.         abstract void method();
  4.         abstract void function();
  5. }

  6. class Outer
  7. {
  8.         public void function(){
  9.                 AbsDemo ad=new AbsDemo()
  10.                 {
  11.                         void method(){
  12.                                 System.out.println("method run");
  13.                         }
  14.                         void function(){
  15.                                 System.out.println("function run");
  16.                         }
  17.                         void show(){
  18.                                 System.out.println("show  run");
  19.                         }
  20.                 };
  21.                 ad.method();
  22.                 ad.function();
  23.                 //ad.show();
  24.                 //多态不可以调用父类中没有定义过的方法
  25.         }
  26. }


  27. class  InnerDemo
  28. {
  29.         public static void main(String[] args)
  30.         {
  31.                 new Outer().function();
  32.         }
  33. }
复制代码


O[GQF$~[)O$8{_SKI6{J]YJ.jpg (21.38 KB, 下载次数: 20)

O[GQF$~[)O$8{_SKI6{J]YJ.jpg





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