如何在java中引用另一个类中的变量?

如何在java中引用另一个类中的变量?,java,Java,我个人现在不在我的电脑上,所以我不能分享我的代码,但我可以尝试重写其中的一个简单部分 public class whatever() { public int test; public String one = "placeholder" //to be filled later public static void main(String[] args) { } } 在另一节课上 public class test1() { public s

我个人现在不在我的电脑上,所以我不能分享我的代码,但我可以尝试重写其中的一个简单部分

public class whatever()
{
    public int test;

    public String one = "placeholder" //to be filled later
    public static void main(String[] args)
    {
    }
}
在另一节课上

public class test1()
{
    public static void main(String[] args)
    {
        test = 1;
    }
}

在类
test1
中,我收到一个错误,说test未定义。

您不能共享这样的变量-一个类不会以您表示变量的方式知道这些变量

移动变量的一种方法是,首先在主类中声明它

public static void main(String[] args) {
    String s = "test";
}
然后编写一个类,该类具有一个方法,该方法接受一个参数以匹配变量

public class OtherClass {

    public void methodTest(String s) {
        //code goes here
    }
}
在原始类上,需要实例化新类

OtherClass oc = new OtherClass();
然后可以调用该方法并传入所需的参数

oc.methodTest(s);
主类现在看起来像:

public static void main(String[] args) {
        String s = "test";
        otherClass oc = new OtherClass();
        oc.methodTest(s);
    }
另一个类看起来像(带有一个简单的print语句):

这将打印
s


我建议为初学者学习一些在线教程,比如or。

我可以通过导入其他类来完成这项工作。这是我的第一节课:

import package1.SecondClass;

public class FirstClass {
    public static void main(String[] args) {
        int i = SecondClass.varToRef;
        System.out.println(i);
    }
}
打印出来的是8。我的第二节课:

package package1;

public class SecondClass {
    public static int varToRef = 8;
    public static void main(String[] args) {

    }
 }

我只能在该变量位于main方法之外时引用它,它的创建和引用基本上类似于SecondClass的公共静态字段。

谢谢!我的开发人员朋友花了一个小时试图弄明白这一点,但现在我可以帮他们一把了@萨米,没问题。如果您对答案感到满意,请随时接受和/或投票,以便对未来的读者有所帮助。如果您不遵循以大写字母开头类名的惯例:
public class where
,Java开发人员会感到困惑。你的IDE可能给了你一个警告。是的,谢谢你的编辑。出于某种原因,我的IDE上已经有一个非大写的测试类:-你的第二个包没有意义,类名在哪里?它不需要导入,因为它在同一个包中…@MCMastery FirstClass在默认包中,所以我必须导入SecondClass,因为它们不在同一个包中。这些类被称为第一类和第二类。
package package1;

public class SecondClass {
    public static int varToRef = 8;
    public static void main(String[] args) {

    }
 }