我想知道如何从另一个班级打印一些东西。我确定它在某处,我不知道在哪里。
public class AddNumbers{
public static void main(String[] args){
System.out.println(c);//want to print from add class add here
}
public static void Add(int[] args){
int a = args[0];
int b = args[1];
int c = a+b;
}
}
答案 0 :(得分:3)
有两种方法:
1.直接从功能Add
public static void Add(int[] args){
int a = args[0];
int b = args[1];
int c = a+b;
System.out.println(c);
}
新课程:
public class AddNumbers{
public static void main(String[] args){
int something = Add(args);
System.out.println(something);
}
public static int Add(String[] args){
int a = Integer.parseInt(args[0]);
int b = Integer.parseInt(args[1]);
int c = a+b;
return c;
}
}
答案 1 :(得分:0)
正如其他海报所指出的,你所拥有的是静态方法。静态变量称为类成员,并且只有一个副本在该类的所有实例之间共享。这与所有对象都有自己的副本的实例变量不同。
以下是帮助解释班级成员的一些代码。
public class FrozenApples {
private static int apples;
public void setApples(int quantity) {
apples = quantity;
}
public int getApples() {
return apples;
}
public static void main(String[] args) {
FrozenApples one = new FrozenApples();
one.setApples(100);
FrozenApples two = new FrozenApples();
two.setApples(200);
System.out.println(one.getApples()); // 200
System.out.println(two.getApples()); // 200
}
}
现在回到你的代码。检索c的一个解决方案是返回它,这需要修改方法的签名,如htpvl所示。由于int a和int b是在方法内部创建的而不是返回的,因此它们不能在方法之外访问。如需进一步阅读,请查看Variables from Oracle。 如果您的时间不够,请阅读以上内容。
局部变量类似于对象如何在字段中存储其状态,方法通常会将其临时状态存储在局部变量中。声明局部变量的语法类似于声明字段(例如,int count = 0;)。没有特殊的关键字将变量指定为本地变量;该决定完全来自声明变量的位置 - 它位于方法的开始和结束括号之间。因此,局部变量只对声明它们的方法可见;他们无法从班上其他人那里获得。
答案 2 :(得分:-1)
如果方法add在不同的类中,则可以添加返回c的方法。然后,无论从哪个实例化该类中的对象,您都可以从类外部调用它。然后,您可以执行System.out.println(yourobject.get(c);
public static void Add(int[] args){
int a = args[0];
int b = args[1];
int c = a+b;
}
public int getC(){
return c
}
如果方法与main方法属于同一类,则可以简单地修改它以返回c,如上所示。