首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >super.input1 = input.nextInt();

super.input1 = input.nextInt();
EN

Stack Overflow用户
提问于 2018-10-05 18:03:41
回答 1查看 138关注 0票数 1

谁能告诉我超级关键字在这里的用法是什么?我正在尝试使用继承为加法操作编写代码,其中有三个类,其中变量在一个类中声明,操作的实际代码在另一个类中,主类在那里。

代码语言:javascript
复制
class Oper extends Variables {
    void op() {
        Scanner input = new Scanner(System.in);
        System.out.println("Enter any two numbers: ");
        super.input1 = input.nextInt();
        super.input2 = input.nextInt();
        result = input1 + input2;
        System.out.println("Result = " + result);
    }
}

class Variables {
    int input1, input2, result;
}

class Addition {
    public static void main(String[] args) {
        Oper obj = new Oper();
        obj.op();
    }
}
EN

回答 1

Stack Overflow用户

发布于 2018-10-05 18:19:14

跟在javadoc后面的super说:

如果您的方法重写了它的超类方法之一,则可以通过使用关键字super来调用被重写的方法。您也可以使用super来引用隐藏字段(尽管不鼓励隐藏字段)。

在您的示例中,super引用的是父class Variable的属性。您可以省略它,因为子类没有同名的属性。如果您在Variable类和Oper类中使用相同的变量名称,那么您将不得不使用它来区分。

关于input.nextInt()

在您的示例中,输入是System.in,所以它是从系统输入读取的,默认情况下是控制台输入。nextInt()正在读取字符并将其转换为整数类型(more info

读取四个输入字节并返回一个整数值

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52663122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档