`
jaywee
  • 浏览: 41480 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

如果重写实现的两个接口中拥有相同名称的两个抽象方法?

    博客分类:
  • JAVA
 
阅读更多
public interface Valuable {
	public double getMoney();
}

interface Protectable {
	public void beProtected();
}

interface A extends Protectable {
	void m();
	void getMoney();//A和Valuable拥有同样名称的抽象方法getMoney()
}

abstract class Animal {
	private String name;
	
	abstract void enjoy();
}

class GoldenMonkey extends Animal implements Valuable, Protectable {
	public double getMoney() {
		return 10000;
	}
	
	public void beProtected() {
		System.out.println("live in the room");
	}
	
	public void enjoy() {
		
	}
	
	public void test() {
		Valuable v = new GoldenMonkey();
		v.getMoney();
		Protectable p = (Protectable)v;
		p.beProtected();
	}
}

class Hen implements A, Valuable {//hen 同时实现了A和Valuable
	public void m() {}
	public void beProtected() {}
	public double getMoney() {
		return 1.0;
	}
	
	public void getMoney() {}//那么,Hen怎么重写这两个getMoney方法?

}

 马士兵老师的提出的一个问题!等解决。

分享到:
评论

相关推荐

    抽象类与接口中方法的相同点和不同点

    抽象类实现接口的时候,可以不重写(实现)接口中定义的方法。 接口 接口是抽象类的一种特殊形式,它只能包含抽象方法和常量。接口中的方法不能有方法体,必须由实现类来实现。在接口中,方法名前面可以有...

    JAVA中的方法重写与方法重载区别

    JAVA 中的方法重写和方法重载是两个重要的概念,在面向对象程序设计语言中尤为重要。方法重写和方法重载都是多态性的体现,但它们之间有着本质的区别。 方法重写(Override)是指在子类中定义的一个方法,其名称、...

    C#抽象类与接口方法

    【C#抽象类与接口方法】在C#编程语言中,抽象类和接口是两种用于实现多态性和封装的关键概念,它们允许我们设计灵活、可扩展的代码结构。 抽象类是一种特殊的类,它不能被实例化,而是作为其他类的基类使用。抽象类...

    浅析Java抽象类和接口的比较

    3. 抽象类更适合定义那些具有共同属性和行为的对象,例如,动物类可以有一个抽象的`eat()`方法,猫和狗作为其子类可以重写此方法。接口则更适用于定义行为或职责,比如`Runnable`接口定义了可运行的行为,无论什么类...

    Java语言的接口与抽象类

    5. 实现:实现接口的类必须实现接口中声明的所有方法,否则这个类也必须被声明为抽象类。 其次,抽象类(Abstract Class)是包含抽象方法的类,使用`abstract`关键字声明。抽象类的特点: 1. 抽象方法:抽象类可以...

    抽象类 接口

    钻石问题是指在多继承情况下,如果两个或多个基类具有相同的成员,那么在派生类中将无法确定具体使用哪一个基类的成员,导致程序的不确定性。为了简化编程模型,提高代码的可读性和维护性,Java选择了单一继承的设计...

    抽象类和接口

    - 接口中的方法默认是没有实现的,但自Java 8起,接口可以包含默认方法和静态方法。 **应用场景**: - 当需要定义一组行为规范,但不确定谁会实现这些规范时,可以使用接口。 - 接口适用于那些希望保持高度灵活性的...

    Java 实验 用接口实现求三角形,圆形,矩形的面积和周长

    要求:①定义一个接口,其中包含一个计算面积的抽象方法和一个计算周长的抽象方法;②输入数据为圆的半径、三角形的三条边长、矩形的长和宽,对于用户的输入要有友好提示;③程序能够排除输入过程中的非法数据(如:...

    Java中抽象类的学习总结

    例如,在提供的示例中,`Person`类同时实现了`Runner`和`Swimmer`两个接口,并且继承了`Animal`抽象类。 - **接口间的继承**: 接口支持多重继承,即一个接口可以继承多个接口。如`C`接口继承了`A`和`B`两个接口。 #...

    编写跑、游泳两个接口

    - 重写了父类 `Animals` 的 `cry()` 方法,并实现了接口中的 `running()` 和 `swimming()` 方法。 ### 4. 方法的具体实现 示例代码展示了如何在子类中实现接口和抽象类中的方法。 - **cry() 方法**: - 输出当前...

    抽象类与接口的区别

    - **抽象类**:可以包含已实现的方法,这些方法可以在子类中重写。 - **接口**:从Java 8开始,可以通过默认方法(`default`修饰符)来实现方法。 3. **变量**: - **抽象类**:可以包含任何类型的变量。 - **...

    java利用接口和抽象类改写求圆的面积和梯形的面积.docx

    - **使用格式**:抽象类通过继承的方式使用,一个子类只能继承一个抽象类(父类),并在子类中必须实现抽象类中的所有抽象方法。例如: ```java class 类名 extends 抽象类 { // 实现所有的抽象方法 } ``` 2....

    Java抽象类接口与多态PPT教案学习.pptx

    代码中定义了两个类:Super 和 Sub。Sub 继承自 Super,並且重写了 Super 中的方法。主方法中创建了一个 Sub 对象,并调用了其方法。 输出结果为: * "Hello" * "Dick" 六、结论 Java抽象类接口与多态是Java编程...

    抽象类和接口 java

    具体子类如`Rectangle`和`Circle`继承自`Shape`,并实现这两个抽象方法,提供各自特定的面积和周长计算逻辑。 #### 接口的定义与实现 **接口**在Java中用于定义一种行为规范,它只包含常量和抽象方法的声明,不...

    java 抽象类及接口

    在这个例子中,`Shape`类定义了一个抽象方法`area()`,没有提供具体的实现。任何继承`Shape`的类都必须提供`area()`方法的实现,否则也需要被声明为抽象类。 接下来,我们来看一下接口。接口(Interface)是另一种...

    接口的使用方法练习

    同时,如果一个类实现了两个具有相同签名的默认方法,需要在该类中重写这个方法以解决冲突。 在`InterfaceExercise`中,我们可能会遇到接口之间的继承。一个接口可以继承另一个接口,并添加新的方法或者修改已有的...

    抽象类和接口,你了解多少?.doc

    如果一个类包含至少一个抽象方法,那么该类就必须声明为抽象类。抽象类提供了部分实现,它的子类可以根据需要重写或补充父类的抽象和非抽象方法。例如,`InputStream`是一个抽象类,它实现了`Closeable`接口,并提供...

    Java抽象类和接口 Java全栈

    在Java编程语言中,抽象类和接口是两个重要的概念,它们用于实现代码的多态性和模块化设计。本文将深入探讨这两个概念,以及它们在Java全栈开发中的应用。 首先,我们来理解抽象类(Abstract Class)。抽象类是不能...

    C#中的接口和抽象类

    1. 实现方式:类可以实现多个接口,但只能继承一个抽象类。接口提供的是横向扩展,抽象类提供的是纵向继承。 2. 内容:接口只能包含方法签名,而抽象类可以包含字段、构造函数、方法等成员。 3. 默认访问修饰符:...

    抽象类和接口 学习

    这是一种通过创建一个抽象适配器类来实现接口,并为接口中所有方法提供空实现的方式。这样,具体类只需要继承抽象适配器类,并重写感兴趣的方法即可。 **3. 示例** 例如,在Java Swing中,`WindowAdapter`就是`...

Global site tag (gtag.js) - Google Analytics