永发信息网

java继承和实现接口同时使用为什么报错

答案:4  悬赏:40  手机版
解决时间 2021-02-24 10:32
  • 提问者网友:鼻尖触碰
  • 2021-02-23 15:51
interface A{
int a=0;
}
class B {
int b=3;
}
public class C implements A extends B {//为什么这么写报错啊
public void show(){
System.out.println(a);
}

public static void main(String args[]){
new C().show();

}
}

interface A{
int a=0;
}//定义两个相同的变量也报错
class B {
int a=3;
}
public class C extends B implements A {

public void show(){
System.out.println(a);
}

public static void main(String args[]){
new C().show();

}
}
最佳答案
  • 五星知识达人网友:爱难随人意
  • 2021-02-23 17:08
可能原因是接口和继承中的方法名、参数类型,参数值、参数个数、返回值等在一个方法中都相同导致的,否则是不会报错的。
解释:在一个类中是可以实现一个接口,同时继承自多个接口的,但是如果实现的接口方法中和继承的方法中出现完全相同的方法此时就会报错。
全部回答
  • 1楼网友:迷人又混蛋
  • 2021-02-23 21:32
因为多继承容易带来安全隐患,当多个父类中实现了相同功能但内容功能不同时,子类对象不确定要运行哪一个。 接口不一样,接口需要你在子类实现功能,不会发生这样的问题
  • 2楼网友:猎心人
  • 2021-02-23 20:25
public class C implements A extends B { public class C extends B implements A {
  • 3楼网友:低血压的长颈鹿
  • 2021-02-23 18:46
1、第一个错是由于你违反了类的定义格式的语法。应先继承再实现。可查教材。 2、第二个错是由于class C 在继承和实现后实质上出现了变量的重新定义(这两个量都被继承了),即在一个类中是不允许出现同名的两个量的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯