我有两个班级
的Class1:
public class Class1 {
public static void main(String[] args) {
Class2 classObject = new Class2();
classObject.add(2, 3);
classObject.print();
}
}
和Class2:
public class Class2 {
public int add(int a, int b) {
int n = a + b;
return n;
}
public void print() {
System.out.println(add(2,3));
}
}
我想使用print
方法打印出add方法中返回的内容.add方法从classObject
中获取其信息,如Class1
中所示。
我知道有不同的方法可以做到这一点,但我很确定有一种方法可以按我想要的方式去做,我只是无法弄清楚如何。
在我调用add方法的print方法的Class2
中,我在那里放了任意数字。我想要做的是以某种方式从classObject.add(int,int)
中提取数字并打印返回的整数n
。
答案 0 :(得分:1)
如果您要展示的是显示带状态的对象,也许您的意思是这样的:
public class Class2 {
int n;
public void add(int a, int b) {
n = a + b;
return n;
}
public void print() {
System.out.println(n);
}
}
这样Object1永远不会知道Object2的内部,它确实是一个非常好的抽象。
答案 1 :(得分:0)
您只需更改打印方法的签名,如下所示。像print这样的方法是需要输入的处理方法,你可以将它作为方法参数传递。
public int print( int a) {
System.out.println(a);
}
现在你需要进行如下的简单调用。
classObject.print(classObject.add(2,3));
您不应该在print方法中调用add方法。根据名称,接缝印刷是一种通用方法。您应该将输入作为方法参数传递,它应该负责打印输入。
如果您希望打印方法只是打印添加,那么您可以将两个数字作为输入参数传递给方法打印,也可以更改方法名称,如下所示。您需要从print(修改版本)内部调用方法add。在这种情况下,您应该隐藏方法add并将其设为私有。
public int printTheAddition(int n, int m){
return add(n,m);
}
在这种情况下,只需使用两个输入参数调用printTheAddition方法。