A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© LuckyQS 中级黑马   /  2014-1-4 12:44  /  1282 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 LuckyQS 于 2014-1-6 11:14 编辑

可不可以这样做

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

QQ截图20140104124425.jpg

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

2 个回复

正序浏览

可以啊只要调用的方法在父类中有定义就行
  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, 下载次数: 19)

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

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

回复 使用道具 举报
可以,父类中有这俩抽象方法可以这么写
如果你在匿名内部类中再定义个void function1()
后面就不能跟ad.新方法了

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马