【发布时间】:2021-01-10 20:22:01
【问题描述】:
假设我有 3 个类都扩展同一个类...
public class Foo {
private String name;
...
}
public class FooExtend1 extends Foo {
...
}
public class FooExtend2 extends Foo {
...
}
public class FooExtend3 extends Foo {
...
}
然后我创建一个 util 函数来更改从 Foo 实现的属性...
public void changeName(??? param1) {
param1.setName("");
}
我希望 param1 是从 Foo 类扩展的所有对象。
我必须重载方法还是有其他方法?
【问题讨论】:
-
"我是否必须重载方法 [...]?" - 否。将
param1重命名为a并使其类型为Foo和它会按预期工作,因为Foo有一个方法public void setName(String)。 -
@Turing85 你应该在这里发布答案
-
你必须为每个
FooExtendN类做不同的事情吗?
标签: java class inheritance java-8 extends