不知何故,使用摘要时,以下代码出现JNI错误。 这不应该发生,因为我认为我写的正确。 可以请人看看。
package Abstraction;
public class Abstraction1_After {
public static void main(String[] args) {
Iphone obj = new Iphone();
Samsung obj1 = new Samsung();
showPrice(obj);
}
public static void showPrice(Phone obj) {
obj.showPrice();
}
}
abstract class Phone {
public abstract void showPrice();
}
class Iphone extends Phone {
public void IphonePrice() {
System.out.println("Price of Iphone Xr is 500€");
}
}
class Samsung extends Phone {
public void Samsungs9Price() {
System.out.println("Price of Samsung S9 is 600€");
}
}
答案 0 :(得分:1)
您的Iphone
类继承了Phone
类的抽象方法showPrice()。您必须重写它,因为非抽象类不能具有抽象方法
您可能想要这样的东西:
class Iphone extends Phone {
public void showPrice() {
System.out.println("Price of Iphone Xr is 500€");
}
}
如果要覆盖方法,则必须通过给新方法使用相同的名称来让编译器知道。因此,只需将方法名称更改为与父方法相同,就可以了。
Samsung
课程当然也是如此