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

© Conning 中级黑马   /  2014-5-16 14:14  /  4644 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

比如A是父类 B、C是子类
其中A有四个属性 甲乙丙丁
现在BC继承A之后 C里面有甲乙丙丁 但是B只有甲乙丙
提示报错实参形参长度列表不同 找不到合适的构造器
根据老师讲的应该是强转 转了半天转晕了 早起到现在还没吃饭呢

10 个回复

正序浏览
努力。。。加油。。
回复 使用道具 举报
多看看视频吧。加油起
回复 使用道具 举报
彭飞 发表于 2014-5-16 23:33
嗯,
B extends A   这个时候b就可以直接调用a里面有的方法了。

已经搞出来了 我原来想到向上继承向下继承方面去了 结果只是简单的重新定义一个C独有的变量然后输出打印即可 不过这个变量要用this修饰 其他用super 想破脑袋了我 又是百度又是论坛问人的 不过总算哦了 晚安咯亲
回复 使用道具 举报
彭飞 中级黑马 2014-5-16 23:33:57
8#
Conning 发表于 2014-5-16 23:28
首先谢谢解答 很详细 秒懂 但是虽然懂了还是不知道怎么操作= =我再看看视频吧 ...

嗯,
B extends A   这个时候b就可以直接调用a里面有的方法了。

其实不难,看看视频,按照视频里的代码 多敲一下。 你会感觉,擦,原来是这个样子。
回复 使用道具 举报
彭飞 发表于 2014-5-16 22:59
兄兄,

首先你要搞清楚继承

首先谢谢解答 很详细 秒懂 但是虽然懂了还是不知道怎么操作= =我再看看视频吧
回复 使用道具 举报
兄兄,

首先你要搞清楚继承
继承是从已有的父类派生出新的类

新的类也就是子类吸收其父类数据属性和行为方法,

官方明确指出新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类

所以你的想法是错误的,

换个位置思考,其实 你的问题已经实现了,
b,c都继续了A的功能, b用123功能,c用34功能。  并不会因为都继承了而发生任何冲突或者是异常。
b,c各自可以为自己添加新的属性和功能,

嘿嘿。童鞋,没必要纠集这个了,继续看视频吧。

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1 赞一个!

查看全部评分

回复 使用道具 举报
赞一个。赞一个
回复 使用道具 举报
没有具体的代码,不能想到你的代码到底哪里出了问题,
但是看到”提示报错实参形参长度列表不同 找不到合适的构造器“这个错误,就很熟悉了,有可能是构造函数出了问题。
  1. class A{
  2.      A(int a,int b){
  3.      }
  4. }

  5. class Demo{
  6.      public static void main(String[] args){
  7.            A a = new A();
  8.           //因为A类型中没有空参数的构造函数,所以会报”实参形参长度列表不同 找不到合适的构造器“的异常。你可以参考一下看看,是不是构造函数出问题了。
  9.      }
  10. }
复制代码
回复 使用道具 举报
提供代码吧,或许是构造函数问题,复写时参数与父类不对应!
回复 使用道具 举报
同学,请提供一下你的代码,根据你的描述,个人感觉是不可能发生的事情。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马