实际上,我正在一个项目中,我必须访问另一个类的方法的变量,并且在我的项目中面临类似的情况,所以我无法返回该值。请任何人解决此问题。
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
}
}
答案 0 :(得分:0)
local
变量num1就是本地变量。它是在方法中创建的,因此范围是方法的范围。您需要创建一个名为num1的类成员。如果num1是公共的,则可以按所需方式引用它。如果成员是私人的,则需要使用吸气剂。如果要返回值,则需要将signature
从void
更改为int
。
我不容忍任何这种命名,只是保持简单。
public class AAA {
private int num1;
public int getNum1() {
return num1;
}
}
obj1.getNum1();
答案 1 :(得分:0)
一旦此变量在方法范围内,就不可能。做您需要的唯一方法是在类范围内创建一个变量。我不会做类似的事情,而是将变量创建为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
}
}