java - 需要类、接口(interface)或枚举

标签 java inheritance enums

我必须列出这段代码中的所有错误,但我不知道 B 类中的错误,我得到了预期的错误类、接口(interface)或枚举。这是什么意思?

public abstract class A {
    private double a;
    public A(A r){
        a = r.a;
    }

    public A(double a){
        this.a = a;
    }

    public double ma(){
        return a;
    }

    public abstract int mv();
    }

    public class B extends A {
        private int b;
        public B() {
            super(); //ne postoji konstruktor
        }

        public B(B o) {
            b=o.b; 
        } //nije pozvan odgovarajuci konstruktor
    }

    public B(int r) { 
        super(b); b=r; 
    } //HERE
}

最佳答案

从错误开始 -

i) 公共(public) B() { 极好的();//ne postoji konstruktor } super() 将调用 A 类中的构造函数 public A(){},但它尚未定义。由于您已经在类 A() 中定义了其他构造函数,因此您需要显式定义默认的无参数构造函数(应保护最小可见性)。

ii) 公共(public) B(int r) { 高超); b=r; }//这里 super (b);b = r 。您应该先定义一个变量,然后才能使用。这里的b是什么?在哪里声明的。这应该是

公共(public) B(双 r) { super (r); }//这里 我将 r 的类型更改为 double,因为如果它是整数,则 super(r) 需要类 A 中类型为整数的构造函数。

iii) 您要在 public B(double r) { super(r);}//HERE 之前关闭 B 类 删除此代码上方的 } 大括号。

iv) 最后一个 - mv 是 A 类中未实现的方法,B 扩展了 A(B 不是抽象的)。所以,B应该实现这个方法。 public int mv() {//正文}

关于java - 需要类、接口(interface)或枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27298351/

相关文章:

combobox - 为什么 Resharper 认为这些枚举从未被使用过?

java - 在java中求矩阵的平均值

java - TransformerHandler 输出 CDATA 部分

java - 在 Java String 方法中获取 int 变量

c# - 类中的组方法

javascript继承说明

c++ - C++中有没有办法让派生类重写基类静态方法?

c# - 连接常量字符串和枚举

c# - 大于或等于与 Fluent Validation 枚举的比较?

java - FusedLocationProviderClient.removeLocationUpdates 总是返回失败