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

时间:2020-04-02 23:17:35

标签: 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() {
        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

    }
}

2 个答案:

答案 0 :(得分:0)

local变量num1就是本地变量。它是在方法中创建的,因此范围是方法的范围。您需要创建一个名为num1的类成员。如果num1是公共的,则可以按所需方式引用它。如果成员是私人的,则需要使用吸气剂。如果要返回值,则需要将signaturevoid更改为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

    }
}