有这么一个程序,接口问题:
interface Valuable {
public double getMoney();
}interface Propectable {
public void beprotectable();
}interface B1 extends Propectable {
void m();
void getMoney();
}class Hen implements B1 ,Valueable{ @Override
public void beprotectable() {
// TODO Auto-generated method stub } @Override
public void m() {
// TODO Auto-generated method stub }
请问这里的getMoney()如何在Hen中重写,继承两个接口都有同名的getmoney()方法,但是类型不同,如何重写????

解决方案 »

  1.   

    两个问题
    首先:你写的代码不会被编译通过,不符合java语法多态性(同样的方法名、同样的参数是不允许出现在java 语言里的)。
    其次:对于java的重写,只是对方法的方法体进行重写。如果你的程序编译通过(可惜不能编译通过),在调用时java机制会自动识别的不用担心。
      

  2.   

    对于Java机制来说,这是没办法实现的。首先Hen这个类实现了两个接口就必须要实现接口中定义的方法。然而这两个接口存在相同标签的方法getMoney()(虽然方法的返回值不相同),那么在编译过程中就会报错。这毕竟不是多态,不是方法的重载,所以你的想法在类似的情况下是没办法实现的。