我有一个名为Car的课程,以及一个名为Mazdamx5的Car的扩展。我可以创建一个扩展包含Car属性的Mazdamx5的类,但是还包含Mazdamx5的修改或覆盖属性,或者这只会引起并发症吗?哦,是的,忘了重要的一部分。我如何使用Car和Mazdamx5在与新扩展不同的包装中完成所有这些操作?通过导入?
答案 0 :(得分:2)
你当然可以拥有这样的类层次结构,但你应该更仔细地考虑你的设计含义。在很多情况下,深度嵌套这样的继承并不是必需的。
如果您希望每个类都有共享字段,请使用protected
代替private
进行声明。
这完全合法:
public class Car {
}
public class Mazdamx5 extends Car {
}
public class SomeOtherCar extends Mazdamx5 {
}
答案 1 :(得分:0)
试一试。完全有效创建另一个扩展Mazdamx5的类。
我提供了代码示例
class Car{
void carDrive() {
S.O.P("car drive");
}
}
class Mazdamx5 extends Car{
void drive() {
S.O.P("drive 2");
}
}
class Car2 extends Mazdamx5 {
void drive() {
S.O.P("Car 2 drive");
}
}
在这种情况下,此类Car2扩展Mazdamx5,覆盖Mazdamx5的方法属性(驱动方法),以及car(carDrive)的contins方法属性