interface A { public void m(); } interface B { public void m(); } class ABC implements A,B{ @Override public void m() { // TODO Auto-generated method stub System.out.println("adad "); }
} public class TestDemo { public static void main(String[] args){ ABC abc=new ABC(); abc.m(); }}public void m() {},而B中有方法public double m() {};此处写的就不对,看看我上面的代码写的不是太规范,供参考,B中的m方法返回值类型不应该是double,后面也没括号
楼主可以这么想 如果我不关注返回值呢比如说 我可以int a = x.a(); 我也可以 x.a(); 这样调用 很明显java不会让你同时实现这两个类
java 只支持单继承 ,舍掉接口怎么实现a b两个类结合成c类?
实现时,标明实现那个接口的方法。 interface A { public void m(); }interface B { public double m(); }class C implements A,B{ @Override public void m() {} double B.m() {return 1.0;} }
interface Interface1 { void output(); }interface Interface2 { public void output(); }class Test {}class Test1 extends Test implements Interface1{ public void output() { System.out.println("Interface1"); } }class Test2 extends Test implements Interface2 { public void output() { System.out.println("Interface2"); } }public class JiChengJieKouChongMing { public static void main(String[] args) { Test test1 = new Test1(); ((Interface1) test1).output();
Test test2 = new Test2(); ((Interface2) test2).output(); } }这样是否满足要求?
{
public void m();
}
interface B
{
public void m();
}
class ABC implements A,B{ @Override
public void m() {
// TODO Auto-generated method stub
System.out.println("adad ");
}
}
public class TestDemo {
public static void main(String[] args){
ABC abc=new ABC();
abc.m();
}}public void m() {},而B中有方法public double m() {};此处写的就不对,看看我上面的代码写的不是太规范,供参考,B中的m方法返回值类型不应该是double,后面也没括号
比如类C继承了接口A,B。
A有public void m();
B有public double m();
那么在C里就必须要实现这两个m方法,
实现了以后调用自己也就不成问题了。
我也可以 x.a();
这样调用 很明显java不会让你同时实现这两个类
java 只支持单继承 ,舍掉接口怎么实现a b两个类结合成c类?
interface A {
public void m();
}interface B {
public double m();
}class C implements A,B{
@Override
public void m() {}
double B.m() {return 1.0;}
}
void output();
}interface Interface2 {
public void output();
}class Test {}class Test1 extends Test implements Interface1{
public void output() {
System.out.println("Interface1");
}
}class Test2 extends Test implements Interface2 {
public void output() {
System.out.println("Interface2");
}
}public class JiChengJieKouChongMing {
public static void main(String[] args) {
Test test1 = new Test1();
((Interface1) test1).output();
Test test2 = new Test2();
((Interface2) test2).output();
}
}这样是否满足要求?