什么是反思,为什么它有用?
我对Java特别感兴趣,但我认为在任何语言中原则都是一样的.
我得到了Parcelable的一个实现,它适用于一个不涉及继承的单个类.在进行继承时,我在确定实现接口的最佳方法时遇到了问题.假设我得到了这个:
public abstract class A {
private int a;
protected A(int a) { this.a = a; }
}
public class B extends A {
private int b;
public B(int a, int b) { super(a); this.b = b; }
}
Run Code Online (Sandbox Code Playgroud)
问题是,这是为B实现Parcelable接口的推荐方法(在A?中都有??如何?)
首先,我检查了这个答案.
我想要做的是扩展Location类调用它LocationPlus有一些成员变量.我想要实现的功能是将LocationPlus类的对象从一个活动传递到另一个活动.
这是我的 CREATOR
public static final Parcelable.Creator<LocationPlus> CREATOR = new Parcelable.Creator<LocationPlus>() {
@Override
public LocationPlus createFromParcel(Parcel source) {
return new LocationPlus(source);
}
@Override
public LocationPlus[] newArray(int size) {
return new LocationPlus[size];
}
};
Run Code Online (Sandbox Code Playgroud)
我面临的问题是这个错误
Implicit super constructor Location() is undefined. Must explicitly invoke another constructor
Run Code Online (Sandbox Code Playgroud)
在尝试编写构造函数时
public LocationPlus(Parcel in) {
Run Code Online (Sandbox Code Playgroud)
有评论的人要求我发布LocationPlus类,所以在这里
public class LocationPlus extends Location{
private int mBattery = -1;
public LocationPlus(String locationName) {
super(locationName);
}
public LocationPlus(Location location) { …Run Code Online (Sandbox Code Playgroud)