我正在使用 AutoValue 扩展来生成我的 Parcelable Android 类。该文档特别指出一个@AutoValue 不能扩展另一个: https ://github.com/google/auto/blob/master/value/userguide/howto.md#inherit
另一位开发人员正在帮助我解决这个问题,并建议“如果您有公共字段,您可以将它们放在两个实现都实现的接口中。” 我假设这意味着库更喜欢组合而不是继承。
我承认,我有点迷路了。如果有人可以提供一个简单的具体示例,说明“子类化” AutoValue 类的最简单方法,我们将不胜感激。这是一个简单的类:
@AutoParcelGson
public abstract class User implements Parcelable {
public abstract String username();
public static User create(String username) {
return builder().username(username).build();
}
public static Builder builder() {
return new AutoParcelGson_User.Builder();
}
@AutoParcelGson.Builder
public interface Builder {
Builder username(String username);
User build();
}
}
我想要另一个名为 Customer 的 @AutoValue 类,它有一些额外的字段。此外,@AutoParcelGson 是我正在使用的 @AutoValue 扩展,但它的行为相同。