gpt4 book ai didi

java - 在Java中合并两个类?

转载 作者:行者123 更新时间:2023-12-02 02:55:26 29 4
gpt4 key购买 nike

我不知道问这个问题的正确方法是什么,但我从 API 中返回了两个类,它们都有 name 作为共同点,但也有另一个单独的字段来自彼此。 “组合”它们的最佳方法是什么,我的 User 类可以获得 name 但也可以获得它们自己的变量。

我的 User 类看起来怎么样?我正在寻找 User 类具有 name 共同点,Alien 类具有 alienVariable ,而 Human 类具有 人类变量

我的两个类的示例

外星人

@AutoValue
public abstract class Alien implements Parcelable {
public static Alien create(String alienVariable) {
return new AutoValue_Alien(alienVariable);
}

public static Alien create(String name, String alienVariable) {
return new AutoValue_Alien(name, alienVariable);
}

public static TypeAdapter<Alien> typeAdapter(Gson gson) {
return new AutoValue_Alien.GsonTypeAdapter(gson);
}

@SerializedName("name")
public abstract String name();

@Nullable
@SerializedName("alien_variable")
public abstract String alienVariable();
}

人类

@AutoValue
public abstract class Human implements Parcelable {
public static Human create(String humanVariable) {
return new AutoValue_Human(humanVariable);
}

public static Human create(String name, String humanVariable) {
return new AutoValue_Human(name, humanVariable);
}

public static TypeAdapter<Human> typeAdapter(Gson gson) {
return new AutoValue_Human.GsonTypeAdapter(gson);
}

@SerializedName("name")
public abstract String name();

@Nullable
@SerializedName("human_variable")
public abstract String humanVariable();
}

用户?

最佳答案

使用其中包含 name() 方法的接口(interface)。

一般来说,如果你有一些共同的属性,最好有一个父类(super class)而不是接口(interface),但如果满足父类(super class)槽,那么你唯一的选择就是接口(interface)。

关于java - 在Java中合并两个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43160986/

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