java - 该方法未定义类型 - 多态性
问题描述
我不完全确定如何解决这个问题,但是我在子类“Complex”中的乘法和除法方法上遇到了未定义的类型错误。我的“复杂”类应该扩展我的“简单”类。错误信息如下:
- 对于 Simple 类型,方法 multiply(int, int) 未定义。
- 未定义 Simple 类型的方法 multiply(int, int, int)
对于 Simple 类型,没有定义方法 divide(int, int)。
import java.util.Scanner; class Simple { public int sum(int a, int b) { return (a + b); } public int sum(int a, int b, int c) { return (a + b + c); } public int remainder(int a, int b) { return (a - b); }
}
class Complex extends Simple { public int multiply(int a, int b) { return (a * b); } public int multiply(int a, int b, int c) { return (a * b * c); } public int divide(int a, int b) { return (a / b); }
}
class CalculatorTest { public static void main(String[] args) { // Scanner, object instance Scanner input = new Scanner(System.in); // Capture arguments, math operation System.out.print("Input math operation: [A]dd, [S]ubtract, [M]ultiply, [D]ivide: "); char mathOp = input.next().toUpperCase().charAt(0); System.out.print("Input 3 arguments each followed by a space: "); int int1 = input.nextInt(); int int2 = input.nextInt(); int int3 = input.nextInt(); // Math operations selection structure if (mathOp == 'A' || mathOp == 'S') { Simple calculator = new Simple(); if (mathOp == 'A') { System.out.print(int1 + " + " + int2 + " = " + calculator.sum(int1, int2) + "\n"); System.out.print(int1 + " + " + int2 + " + " + int3 + " = " + calculator.sum(int1, int2, int3) + "\n"); } else if (mathOp == 'S') { System.out.print(int1 + " - " + int2 + " = " + calculator.remainder(int1, int2) + "\n"); } } else { Simple calculator1 = new Complex(); if (mathOp == 'M') { System.out.print(int1 + " x " + int2 + " = " + calculator1.multiply(int1, int2) + "\n"); System.out.print(int1 + " x " + int2 + " x " + int3 + " = " + calculator1.multiply(int1, int2, int3) + "\n"); } else if (mathOp == 'D') { System.out.print(int1 + " / " + int2 + " = " + calculator1.divide(int1, int2) + "\n"); } } }
}
解决方案
推荐阅读
- mysql - MYSQL 选择哔声;- 选择时使 mysql 控制台发出哔声 - 或通知
- html - 总览框的固定高度
- excel - Vba 循环值不准确
- laravel - 在 Laravel 7 和 graham-campbell/markdown 中为 Markdown 添加表格扩展
- php - 根据使用 PHP 输入的用户所在国家/地区隐藏 div
- powerbi - 使用未透视列的切片器的 TOTAL 度量百分比
- c++ - synchronized_pool_resource 实际是如何工作的?
- pine-script - 如何正确减少来自 Pine Script 的安全调用?
- ruby-on-rails - Prettier ERB 有条件地添加元素类
- sql - 从 BigQuery 中的时间戳或日期时间减去 6 天 23 小时