Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java super.input1=input.nextInt();_Java_Inheritance_Java.util.scanner_Super - Fatal编程技术网

Java super.input1=input.nextInt();

Java super.input1=input.nextInt();,java,inheritance,java.util.scanner,super,Java,Inheritance,Java.util.scanner,Super,谁能告诉我超级关键字在这里有什么用? 我试图使用继承为加法操作编写代码,其中有三个类,其中变量在一个类中声明,操作的实际代码在另一个类中,主类在那里 class Oper extends Variables { void op() { Scanner input = new Scanner(System.in); System.out.println("Enter any two numbers: "); super.input1 = in

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

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();
    }
}
下面的javadocs说明:

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

在您的示例中,super正在引用父级
类变量的属性。您可以忽略它,因为子类没有同名的属性。如果在
Variable
类和
Oper
类中使用相同的变量名称,则必须使用它来区分

关于
input.nextInt()

在您的情况下,输入是
系统。在
中,它是从系统输入读取的,默认情况下,它是控制台输入。
nextInt()
正在读取字符并将其转换为int类型()

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


发布这两个类的代码请阅读@RahulGour用这些代码片段更新问题并删除注释please@RahulGour
super.
这里是多余的。你可以去掉它。这里不需要“super”。你能告诉我这个“input.nextInt()”的工作原理吗?嗨,
super
是指类父的关键字。在这种情况下,类
Oper
是类
Variables
的子类,因此如果您创建
Oper
的实例,它也会从父类(
Variables
)继承类字段、方法或其他内容。在那里,
Oper
实例将有来自
变量的字段,`int input1,input2,result
,因此使用
super.input1`您指的是
Oper
类字段
input1
,该字段继承自
变量
。。。与方法等相同。如一些人所说,在本例中可以省略文档,例如super。