如何在Java类间调用?新手求助跨类实现加减功能
嘿,很高兴你通过实际例子来学习多类协作,这绝对是掌握Java类交互的好办法!你已经搞定了两个负责核心计算的工具类,现在只需要在主类里根据输入的运算符,调用对应的静态方法就行,其实非常直观,我给你完整的解决方案和解释:
完整的主类代码示例
package christmas; import java.util.Scanner; public class CalculatorMain { public static void main(String[] args) { // 初始化Scanner读取键盘输入 Scanner scanner = new Scanner(System.in); // 获取用户输入的两个整数 System.out.print("请输入第一个数字: "); int num1 = scanner.nextInt(); System.out.print("请输入第二个数字: "); int num2 = scanner.nextInt(); // 获取运算符 System.out.print("请输入运算符(+或-): "); char operator = scanner.next().charAt(0); // 根据运算符分支调用对应类的方法 int result; switch (operator) { case '+': // 直接通过类名调用静态方法,无需创建对象 result = addintegers.add2numbers(num1, num2); break; case '-': result = subtractintegers.sub2numbers(num1, num2); break; default: System.out.println("抱歉,只支持+和-运算符哦!"); scanner.close(); return; // 终止程序,避免后续错误执行 } // 输出计算结果 System.out.printf("计算结果: %d %c %d = %d%n", num1, operator, num2, result); // 关闭Scanner资源 scanner.close(); } }
关键知识点解释
- 静态方法的调用方式:你写的
add2numbers和sub2numbers都是static方法,这类方法属于类本身,不需要创建类的实例对象,直接用类名.方法名(参数)就能调用,这是跨类调用静态方法最直接的方式。 - 包访问权限:因为你的三个类都在
christmas包下,Java默认允许同包类之间直接访问,所以不需要额外写import语句导入那两个计算类。如果主类在不同包,才需要添加import christmas.addintegers;和import christmas.subtractintegers;。 - 分支逻辑处理:用
switch或者if-else判断运算符,然后在对应分支里调用不同类的方法,这样就能实现根据用户输入动态选择调用的类。
小建议(规范优化)
Java的命名规范建议类名采用大驼峰式(首字母大写,每个单词首字母大写),比如把addintegers改成AddIntegers,subtractintegers改成SubtractIntegers,这样代码可读性会更高,也符合行业惯例哦。
内容的提问来源于stack exchange,提问作者user12422573
相关产品推荐
相关产品推荐

