【发布时间】:2012-06-24 13:44:51
【问题描述】:
如果a类扩展b类,b类扩展c类,a 继承自 c 和 b?如果是这样,如果两者之间发生冲突,是否存在错误或是否会覆盖另一个(如果是,是哪一个)?
如果标题不合适,请重命名问题。
编辑:我所说的冲突是这样的:
class c {
int foo;
//Stuff
}
class b extends c {
String foo;
//Stuff
}
class a extends b {
//Stuff
}
a.foo 是字符串还是整数?
另一个编辑:据我所知,这里的继承有点像 CSS - 规则设置得越接近,它的优先级就越高(例如内联样式覆盖样式表)。这是考虑这一点的好方法,还是有很大不同?
【问题讨论】:
-
切线,这就是为什么
public和protected变量被许多人认为是糟糕的形式。 -
@TonyEnnis - 两者都不是;我只是想将两个“库”类扩展为一个。
-
如果存在真正的冲突,代码将无法编译。您的帖子中没有“冲突”,只是一个简单的名称隐藏问题,您可以自己测试。 StackOverflow is not a research assistant。投反对票。
-
我在谈论更高级的案例,以及是否会发生任何变化。你想让我生成每一个这样的冲突案例吗?我敢肯定,为此而编写的程序可能会有一些自己的类冲突:P
标签: java oop class inheritance