java中如果一个类要实现两个接口,这两个接口中有一个完全相同的的抽象方法,怎么实现

接口名是不同的

直接实现接口就可以了,相同的方法有一个实现方法就可以
附上代码:
public interface IntefaceA {
void methodA();
void methodC();
}

public interface IntefaceB {
void methodB();
void methodC();
}

public class ClassAB implements IntefaceA,IntefaceB {

@Override
public void methodB() {
System.out.println("methodA");

}

@Override
public void methodA() {
System.out.println("methodB");

}

@Override
public void methodC() {
System.out.println("methodC");

}

public static void main(String[] args) {
IntefaceA a = new ClassAB();
a.methodA();
a.methodC();

IntefaceB b = new ClassAB();
b.methodB();
b.methodC();
}
}

其实 自己可以动手试一试的追问

方法methodC()是实现的接口A还是接口B,还有就是一个文件中只能有一个public类

追答

methodC()的实现 既是A的,也是B的。额,这是写在三个文件里的

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-01-04
接口a
public interface a {
public void fun();
}
---------------------------------------------------------
接口b
public interface b {
public void fun();
}
----------------------------------------------------------
类c实现 a,b两个接口,并覆写相同的抽象方法 fun()
public class c implements a, b {

@Override
public void fun() {
// TODO Auto-generated method stub

}

}追问

方法fun()是实现的接口a还是接口b

追答

因为a和b的方法都是一样的.所以它既是a的也是b的...不过你想想,一般是不用这么写的.这是重复浪费...呵呵...

追问

关键就是要把a和b中的fun()区分开来

追答

谁让你这么写的啊?一般很少出现这种情况的,如果非要区分开,那就用适配器模式去写..
如果你想知道怎么实现我就帮你写一下,不过没有多大意思..很少人这么用的...
这么写就可以了..
接口A:
package demo;
public interface A {
public void fun();
}
----------------------------------------------------------
接口B
package demo;

public interface B {
public void fun();
}
--------------------------------------------
接口C,用来获取B接口
package demo;

public interface C {
public B getB();
}
-------------------------------------------------------
package demo;

public class D implements A, C {

@Override
public void fun() {
// TODO Auto-generated method stub
System.out.println("a中的抽象方法");
}

@Override
public B getB() {
// TODO Auto-generated method stub
return new B() {
//B中的抽象方法;
public void fun() {
System.out.println("b中的抽象方法");
}
};
}

public static void main(String args[]) {
A a = new D();
B b = new D().getB();
a.fun();
System.out.println("--------------");
b.fun();
}

}
你应该能看明白啊?这么做就可以了,不过很少这么写的...

第2个回答  2012-01-05
同一个方法 ,为什么要写在两个不同的接口中而让同一个类同时实现呢 …… 本就是很2的问题……
第3个回答  2012-01-04
你把其中一个方法名称修改下不就OK了,或者新建一个父类接口,2个接口继承父接口,把相同的抽象方法写到父接口中就好了
第4个回答  2012-01-05
如果两个接口的方法完全一样(包括返回值),实现一次就可以,如果返回值不一样的话,就不太清楚了。

在java中一个类只能实现一个接口
在java中一个类只能实现一个接口是错误的。Java支持类实现多接口,接口中的方法是抽象的,一个类实现可以多个接口。假设这些接口中存在相同方法(方法名与参数相同),在实现接口时,这个方法需要实现类来实现,并不会出现二义性的问题。在Java语言中,类可以同时继承另一个类和实现一个或多个接口。但是...

java中接口可以实现多个接口吗?
首先,java中的接口别说实现多个接口了,一个接口也不能实现。因为接口中的方法是没有方法体的,所以不能实现任何接口。其次,一个接口可以继承多个接口。因为类如果可以多继承,实例化时,如果要调用父类的方法,如果两个一样,根本就不知道该调用那个父类的方法; 但是接口就不一样了,因为接口继承...

抽象类可以实现多个接口吗
2、面向对象:Java是一个完全的面向对象的编程语言。这意味着在Java中,一切都是对象,这有助于构建复杂的、可重用的代码和模块化的软件。3、丰富的API库:Java拥有非常庞大的API(应用编程接口)库,涵盖了从数据结构、数学函数到图形和数据库连接等各个方面。这意味着Java开发者可以充分利用现成的代码...

JAVA:一个类实现多个接口
\/\/A接口interface A{ public int getA();} \/\/B接口 interface B{ public int getB();} \/\/实现了某个接口必须实现其全部的方法 public class ImpAB implements A,B{ public int getA() { return 0;} public int getB() { return 0;} } ...

java一个类可以实现几个接口
1、默认方法:从Java 8开始,接口可以包含默认方法,这些方法有默认的实现。任何实现该接口的类可以选择是否覆盖这些默认方法。2、抽象类:虽然接口可以包含抽象方法,但它们不能包含实例字段或具体的方法。这意味着,在Java中,一个接口不能是一个抽象类。3、继承:接口可以继承一个或多个其他接口。一个...

java接口和父类中有相同的方法 如何在子类中重写接口中的方法
重写父类的那个方法就重写了接口的那个方法,两个方法等同于一个方法。有一种办法就是为父类的哪个方法重新写一个方法,调用super,如下:public class Aaa extends B implements A { public void a() { System.out.println("interface的方法"); } public void extendsA(){ super.a(); } public static void ...

...类Square和circle,要求如下: (1)Shape接口中有一
\/\/ 接口类public interface Shpe{ public double area(double num );}\/\/实现类-正方形 public class Square implements Shpe{ @Override public double area( double num ){ return num * num; }}\/\/实现类-圆 public class Circle implements Shpe{ @Override public double ...

有两个接口,接口A,B,里边有个void play()方法,现有接口C继承了A和B...
接口C继承了A,B这句有错吧,java只能单一继承,不比c++ DD实现C那DD重写的play就是接口C的,而且不用纠结是哪个接口,反正接口声明的方法全是抽象无具体内容的,你要的只是一个名字,往这个名字里面加点具体内容而已

java里面implements
1. 接口的定义与功能:在Java中,接口是一种完全抽象的类,它只能包含抽象方法和常量。这意味着接口中定义的所有方法都没有方法体,只有方法的签名。接口定义了一种协议或规范,实现该接口的类必须遵循这个协议或规范。2. implements关键字的作用:当一个类使用implements关键字来声明它要实现某个接口时...

java中,抽象方法一定要在抽象类中吗???
抽象类中既可以有抽象方法,也可以有一般的方法。抽象类中可以没有抽象方法,但是抽象方法一定在抽象类中。因为抽象类不能被实例化,抽象方法不能被实现。 青烟绕荭尘 | 发布于2012-02-05 举报| 评论(2) 4 1 对,这句话也可以这样说:“含抽象方法的类一定是抽象类”。 understandok | 发布于2012-02-...

相似回答