gpt4 book ai didi

java - 为子类设置父类(super class)属性

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:53:30 24 4
gpt4 key购买 nike

所以我在让我的属性在父类(super class)类型场景中正确设置时遇到了一些问题。

我有 2 个类,B 类是 A 类的特殊版本,比方说...

public class A {
private String name;
private int id;
...
}

public class B extends A {
private Date time;
private int status;
...
}

现在我要做的是使用一种方法,该方法用于从结果集中设置 A 中的属性,而不是将它们设置在 B 的实例中。

public A setProperties(ResultSet rs) {
A a = new A();
a.setName(rs.getString(...));
...
return a;
}

我曾尝试从中获取返回值并将其转换为 B,但当然并非所有 A 都是 B... 所以这是行不通的。我还尝试向 setProperties 方法添加另一个参数,以便它接受一个 A 并返回一个 A,这样我就可以使用多态性来取回我的 B,但随后我的所有值都被取消了.

我在这里不知所措,非常感谢任何建议。

最佳答案

在父类(super class)中声明方法。子类将覆盖此方法,然后调用 super.foo(ResultSet rs),其中 foo(...) 是被覆盖的方法。其中,您可以解析 ResultSet 并设置对象的字段。

例子-

class Foo{
void setProperties(final ResultSet rs){
// do stuff
}
}

final class Bar extends Foo{
@Override
final void setProperties(final ResultSet rs){
// do stuff
super.setProperties(rs);
}
}

有关详细信息,请参阅 Using the Keyword super .

关于java - 为子类设置父类(super class)属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8657134/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com