java - 在类之间共享java中的变量
问题描述
我在自己的公共类中都有三个静态方法。帮助我学习的简单算术方法。
这些方法使用三个变量,这些变量在 main 方法中定义为静态 int 变量。该程序有效。
现在根据我对所读内容的理解,我应该能够将变量定义移动到另一个类并将它们定义为公共。然后,它自己的公共类中的 main 方法应该能够找到这些定义并运行。但这不会发生。相反,我的 Eclipse 工作区报告无法将定义解析为变量。
这是非常简单的代码(它给了我编译错误):
package christmas;
public class addintegers {
public int number1 = 5;
public int number2 = 10;
public int answer;
public static int add2numbers(int a, int b) {
return (a + b);
}
}
2 级
package christmas;
public class subtractintegers {
public static int sub2numbers(int a, int b) {
return (a - b);
}
}
然后我有我的主要方法。这是我得到编译错误的地方。
package christmas;
public class glue {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(addintegers.add2numbers(number1, number2));
System.out.println(subtractintegers.sub2numbers(number1, number2));
answer = (addintegers.add2numbers(number1, number2)) + (subtractintegers.sub2numbers(number1, number2));
System.out.println("answer =" + answer);
}
}
我得到的错误是:
>create local variable number1
>create local variable number2
>create local variable answer
解决方案
首先:
- 类名应该是名词,并且使用UpperCamelCase
- 方法名应该是动词,并且使用lowerCamelCase
例如,类似于以下内容:
public class Addition {
public static int add(int a, int b) {
return a + b;
}
}
public class Subtraction {
public static int subtract(int a, int b) {
return a - b;
}
}
如果你想在我重命名的类中拥有 , 和 字段number1
,number2
通常你会做的是让它们成为实例变量并通过 getter 公开它们:answer
Addition
private
public class Addition {
private int number1 = 5;
public int getNumber1() {
return number1;
}
}
然后,您可以通过创建类的实例来访问它们,例如:new Addition().getNumber1();
. 然而,由于Addition
andSubtraction
类似乎是实用程序类,因此声明这些字段可能更有意义,private static
这样您就不必实例化这些类:
public class Addition {
private static int number1 = 5;
public static int getNumber1() {
return number1;
}
}
然后,您可以通过引用类而不是类的实例来访问它们,例如:Addition.getNumber1();
.
推荐阅读
- types - 水晶报表中 NUMBER 和 CURRENCY 类型的大小是多少?
- javascript - 当每个 CheckBoxes 值等于一定数量时显示/隐藏 Div
- oracle - 从 ojdbc6/jdk6 升级到 ojdbc8/jdk8 破坏了 TIMESTAMPTZWrapper。无法将 TIMESTAMPTZWrapper 强制转换为 TIMESTAMPTZ
- c - Gtk2 使用相同的按钮从 2 个条目中获取数据
- c# - 创建所有可能的对象状态的集合
- django - Django Google api 客户端库 oauth2client - 未解析的参考 FlowField
- angular - ngb-accordion 在设置 activeIds 时应用滚动/聚焦
- java - 无法通过浏览器访问控制器
- react-native - 反应本机地图标记
- scala - 如何设置 CHARACTER SET 以使用 JDBC 数据源写入 MySQL 表?