Java 如何在另一个类中访问局部变量

Java 如何在另一个类中访问局部变量,java,Java,我正在制作一个需要main方法变量的程序,但是当我尝试使用main main=new main导入它时;我无法访问该变量。如何在另一个类中使用变量a public class Main{ public static void main(String[] args){ int a = 10; } } public class SomeClass{ Main mainclass = new Main(); main.a;//I get error

我正在制作一个需要main方法变量的程序,但是当我尝试使用main main=new main导入它时;我无法访问该变量。如何在另一个类中使用变量a

public class Main{
    public static void main(String[] args){
        int a = 10;
    }  
}

public class SomeClass{
    Main mainclass = new Main();
    main.a;//I get errors when I do this
}

这就是为什么它被称为局部变量。它只在定义它的范围内本地可用,除非添加一些本机代码并弄乱一些脏指针,否则无论如何都无法访问该变量

如果您需要在另一个类中使用静态main方法,那么您需要创建该类的静态成员,将其拉到本地范围之外,如

public class Main{
    static int a;
    public static void main(String[] args){
        a = 10;
    }  
}

public class SomeClass{
    Main.a;
}

但实际上,我认为在继续之前,您应该先读一本关于Java和面向对象开发的好书,因为您的示例表明,您对这两个方面都没有太多线索。

我这样做时会出错,因为您不能这样做。为什么你认为它们被称为局部变量?你可能应该仔细阅读java类是如何工作的。局部变量的要点是它们的范围和寿命有限:它们被用来计算一个值或获得一些结果,然后被允许不存在。如果希望从定义变量的块外部访问变量,则需要生成实例变量或静态变量。此外,您可能想了解java中的类、实例和方法,因为我认为您在许多方面混淆了这些概念。@BruceWayne我可以问一下您为什么不接受我完全有效的答案吗?@BruceWayne我可以问一下您为什么不接受我完全有效的答案吗?