Java 如何访问另一个类的方法的变量?

Java 如何访问另一个类的方法的变量?,java,variables,inheritance,multiple-inheritance,Java,Variables,Inheritance,Multiple Inheritance,实际上,我正在做一个项目,在这个项目中,我必须访问另一个类的方法的变量,并且在我的项目中面临类似的情况,我无法返回该值。请大家解决这个问题 package com.company; class aaa { int num1; public void val() { // data type can't be changed num1 = 100; } } class bbb { public void Values() { i

实际上,我正在做一个项目,在这个项目中,我必须访问另一个类的方法的变量,并且在我的项目中面临类似的情况,我无法返回该值。请大家解决这个问题

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就是local。它是在方法中创建的,因此范围是该方法的范围。您需要创建一个名为num1的类成员。如果num1是公共的,您可以按照自己的方式引用它。如果会员是私人会员,你需要一个getter。如果要返回值,需要将签名从
void
更改为
int

我不宽恕任何这种命名,只是简单而已。

公共级AAA{
私有整数num1;
公共int getNum1(){
返回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

    }
}

仅供参考:你可能想退房。这根本不可能。方法的变量仅在方法运行时存在。即使该方法位于调用堆栈上,您也无法访问该变量。你到底想达到什么目的?