interface A{
void abc();
}
interface B{
double abc();
}class test implements A,B{
public void abc()
{
}
public double abc()
{
return 1.0;
}
}
C#里用
class test implements A,B{
public void A.abc()
{
}
public double B.abc()
{
return 1.0d;
}
}
就可以实现
但java不能这么写 也就是java只能避免此类问题吗
void abc();
}
interface B{
double abc();
}class test implements A,B{
public void abc()
{
}
public double abc()
{
return 1.0;
}
}
C#里用
class test implements A,B{
public void A.abc()
{
}
public double B.abc()
{
return 1.0d;
}
}
就可以实现
但java不能这么写 也就是java只能避免此类问题吗
解决方案 »
- java 中简单的小问题
- hibernate 级联 添加 (persist)时抓不到异常 (框架struts, spring)
- 如何将applet改写成application?
- 关于java阶乘运算的,有一点始终不明白,请帮忙解释下谢谢。
- 抽象父类和普通父类区别?来看看我的代码,说说和抽象类有什么不同的?
- 一样的SQL,在java中和access查询管理器中为什么结果不同?
- 请问求平方根用哪个类呢?
- 斑主,怎么知道自己贴子是否已结贴?
- 三两问,up有分。
- 高分请教:java的Date中有没有日期加减的方法?
- 即使一个类中不含抽象方法,它也可以声明为抽象类;这话有意义吗
- 菜鸟提问,java在命令行里面执行的问题
胡说八道一下。首先是语法上的,java不允许,c#允许,
这是本身“体制”的问题,也没什么可异议的地方。接下来就是设计上了,
如果某一个借口中,有一个行为,或者说方法,
就说明这个行为是这种接口的特色,不管它如何重载,
他们都是有一样的特点,
比如一个翻译家接口,有一个transChina的方法,
不管它的返回值是china,japan,english,它都是这个翻译家的行为。
(这个例子不好,实际上应该设计一个“语言类或接口”来统一这些语言,说的更远了,就举这个例子吧)
话说回来,
一个接口里的方法,在另一个接口里同样出现,
而且一个类还要同时实现这两个接口,
这就是很“学术”的问题,也就是只会在C#的考试题或者无聊的面试题中出现,
如果出现这种情况,
应该是,至少小弟我这么觉得应该是,系统的设计出了什么问题也许我跑题了,请楼主谅解啊:)good luck