Java 抽象方法不抽象类

Java 抽象方法不抽象类,java,eclipse,abstraction,Java,Eclipse,Abstraction,不知何故,在使用抽象时,下面的代码会出现JNI错误。 这不应该发生,因为我认为我写的是正确的。 能请某人看一下吗 package Abstraction; public class Abstraction1_After { public static void main(String[] args) { Iphone obj = new Iphone(); Samsung obj1 = new Samsung(); showPrice(o

不知何故,在使用抽象时,下面的代码会出现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€");
    }
}

您的
Iphone
类正在从
Phone
类继承抽象方法showPrice()。您必须重写它,因为非抽象类不能有抽象方法

你可能想要这样的东西:

class Iphone extends Phone {
    public void showPrice() {   
        System.out.println("Price of Iphone Xr is 500€");
    }
}
如果你试图重写一个方法,你必须让编译器知道,给新方法起相同的名字。因此,只要将方法名称更改为与父方法相同,您就可以开始了


你的
Samsung
课程也是如此,当然

问题解决了!!!非常感谢,我没有看到,尽管我已经连续看了15分钟。@TonyMacaroni,如果您有意的话,我们建议您使用
@Override
,因为它既可以与人类进行有用的交流,也可以检查您是否犯了错误。