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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨佳名 高级黑马   /  2014-9-23 17:13  /  855 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨佳名 于 2014-9-24 19:30 编辑

按毕老师的说法,一看标题你就认为我疯了    但是!
看了视频知道java仅在接口中支持多继承。在学了内部类后,我想到了这样的方法
  1. class Demo1
  2. {
  3.         public String name()
  4.         {
  5.                 return "yjm";
  6.         }
  7. }

  8. class Demo2
  9. {
  10.         public int age()
  11.         {
  12.                 return 21;
  13.         }
  14. }

  15. class Main
  16. {
  17.         private class test1 extends Demo1
  18.         {
  19.                 public String name()
  20.                 {
  21.                         return super.name();
  22.                 }
  23.         }
  24.         private class test2 extends Demo2
  25.         {
  26.                 public int age()
  27.                 {
  28.                         return super.age();
  29.                 }
  30.         }
  31.         
  32.         String name()
  33.         {
  34.                 return new test1().name();
  35.         }
  36.         int age()
  37.         {
  38.                 return new test2().age();
  39.         }
  40.         
  41.         public static void main(String[] args)
  42.         {
  43.                 Main jm = new Main();
  44.                 System.out.println("我的名字:"+jm.name());
  45.                 System.out.println("我的年龄:"+jm.age());
  46.         }
  47. }
复制代码

分别实现两个内部类test1(继承了Demo1)和test2(继承了Demo2),这样Main中就同时拥有了Dome1和Dmoe2两个类的方法和属性,通过内部类的传递实现了多继承。
觉着这是内部类很好的一个地方。

评分

参与人数 1技术分 +1 收起 理由
陈君 + 1 有点意思

查看全部评分

2 个回复

倒序浏览
顶一个。。
回复 使用道具 举报
貌似有道理啊~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马