英文:
How to achieve the "Override" in Java?
问题
我正在尝试在Java中使用多态性编写二进制转十进制和十进制转二进制的代码,但它始终打印位于父类中的方法而不是覆盖的方法。感谢您的帮助。
**OopFinal.class:**
package oopfinal;
import java.util.Scanner;
public class OopFinal extends Convert{
public static void main(String[] args) {
Scanner userInput = new Scanner(System.in);
System.out.print("请输入要转换的值:");
int inputNumbers = userInput.nextInt();
Convert convert = new Convert();
//检查数字是否为二进制
if (inputNumbers != 0 || inputNumbers % 10 > 1){
String bin = Integer.toBinaryString(inputNumbers);
int binaryResult = Integer.parseInt(bin);
convert.Calc(binaryResult);
} else if (inputNumbers == 0 || inputNumbers % 10 == 1) {
String dec = Integer.toString(inputNumbers);
int decimalResult = Integer.parseInt(dec);
convert.Calc(decimalResult);
} else {
System.out.println("负数在此处无效...");
}
}
//二进制转十进制
@Override
public void Calc(int n) {
System.out.println("十进制等价为:" + n);
}
}
**Converter.class:**
package oopfinal;
public class Convert {
//十进制转二进制
public void Calc(int n) {
System.out.println("二进制等价为:" + n);
}
}
英文:
I'm trying to code binary to decimal and decimal to binary using polymorphism in java however it keeps printing the method situating in the parent class and not the override. Thanks for the help.
OopFinal.class:
package oopfinal;
import java.util.Scanner;
public class OopFinal extends Convert{
public static void main(String[] args) {
Scanner userInput = new Scanner(System.in);
System.out.print("Please value to convert: ");
int inputNumbers = userInput.nextInt();
Convert convert = new Convert();
//checks whether number is binary or not
if (inputNumbers !=0 || inputNumbers % 10 > 1){
String bin = Integer.toBinaryString(inputNumbers);
int binaryResult = Integer.parseInt(bin);
convert.Calc(binaryResult);
} else if (inputNumbers == 0 || inputNumbers % 10 == 1) {
String dec = Integer.toString(inputNumbers);
int decimalResult = Integer.parseInt(dec);
convert.Calc(decimalResult);
} else {
System.out.println("Negative numbers are invalid here... ");
}
}
//binary to decimal
@Override
public void Calc(int n) {
System.out.println("Decimal equivalent is: " + n);
}
}
Converter.class:
package oopfinal;
public class Convert {
//decimal to binary
public void Calc(int n) {
System.out.println("Binary equivalent is: " + n);
}
}
专注分享java语言的经验与见解,让所有开发者获益!
评论