gpt4 book ai didi

java - 在 Java 层次结构中的任何位置访问变量

转载 作者:行者123 更新时间:2023-12-01 19:17:58 25 4
gpt4 key购买 nike

我想从另一个方法访问一个方法内部的变量集。我尝试在方法 inlet 中访问 Scanner sc,但无法解析该变量。

public class LineReader extends MaxObject {

public LineReader() {
declareInlets(new int[]{DataTypes.INT,DataTypes.ALL});
declareOutlets(new int[]{DataTypes.INT,DataTypes.ALL});
}

public void input(String Fold.sc, Atom[] args) {
Scanner sc = new Scanner(new File());
if (getInlet() == 1) {
post("hello anything " + Fold.sc + " " + Atom.toOneString(args) + "!");
outlet(1, s, args);
} else {
post("uh");
}
}

public void inlet(int a) {
for (int i = 0; i < startLine; i++) {
info = sc.readLine();
}
for (int i = startLine; i < endLine + 1; i++) {
info = sc.readLine();
System.out.println(info);
post("hello integer " + a + "!");
outlet(0, info);
}
}
}

最佳答案

您似乎无法理解 variable scope 。花一些时间了解它可能会对您有所帮助。

由于变量 sc 是在方法 input 中声明的,因此只能在该方法中访问它。如果您希望整个类都可以访问它,则应该使其成为该类的成员。

以下是其工作原理的示例:

public class MyClass {
int x = 3;

public void method1() {
int a = 1;
}

public void method2() {
System.out.println(a); //will not work - a is not in scope
System.out.println(x); //will work - x is accessible from all methods
}
}

关于java - 在 Java 层次结构中的任何位置访问变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5734378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com