实际上,我正在处理一个项目,在该项目中,我必须访问另一个类的方法的变量,并且在我的项目中面临类似的情况,我无法返回该值。任何人,请解决这个问题。
package com.company;
class aaa {
int num1;
public void val() { // data type can't be changed
num1 = 100;
}
}
class bbb {
public void Values() {
int num = 100;
}
}
public class Main extends bbb {
public static void main(String[] args) {
// write your code here
aaa obj1 = new aaa();
bbb abj2 = new bbb();
System.out.println(obj1.num1); // wants to print value 100 here but
//without returning value from the function
}
}
local
变量num1就是局部变量。它是在方法中创建的,因此范围是该方法的范围。您需要创建一个名为num1的类成员。如果num1是公共的,您可以按照自己想要的方式引用它。如果该成员是私人成员,则需要一个getter。如果要返回值,则需要将signature
从void
更改为int
。
我不宽恕任何这样的命名,只是保持简单
public class AAA {
private int num1;
public int getNum1() {
return num1;
}
}
obj1.getNum1();
一旦这个变量在方法范围内,就不可能了。实现所需功能的唯一方法是在类作用域中创建一个变量。我不会这样做,而是将变量创建为private,并使用get和set方法。
package com.company;
class aaa{
public int num1;
public void val(){
num1 = 100;
}
}
class bbb{
public void Values(){
int num = 100;
}
}
public class Main extends bbb{
public static void main(String[] args) {
// write your code here
aaa obj1 = new aaa();
bbb abj2 = new bbb();
System.out.println(obj1.num1); // now the variable is in public access
}
}