Java 从另一个类中获取变量?

Java 从另一个类中获取变量?,java,swing,Java,Swing,我正在用Java编写一个程序(使用Swing)来连接数据库。我有两节课。该程序从interface.java开始,在这里创建带有用户界面的表单,其中有用于登录和密码的字段以及用于连接的按钮。当用户按下按钮时,应启动第二类(连接) 还有我的问题——是否可以将变量从一个类(接口)传递到另一个类(connecting.java)?如果是,那怎么办 代码: 对。这是可能的 如果它们是static字段,则可以将它们称为interface.variableNameIfprivate可以创建getter方法,

我正在用Java编写一个程序(使用Swing)来连接数据库。我有两节课。该程序从interface.java开始,在这里创建带有用户界面的表单,其中有用于登录和密码的字段以及用于连接的按钮。当用户按下按钮时,应启动第二类(连接)

还有我的问题——是否可以将变量从一个类(接口)传递到另一个类(connecting.java)?如果是,那怎么办

代码:

对。这是可能的

如果它们是
static
字段,则可以将它们称为
interface.variableName
If
private
可以创建getter方法,如:

public variableType getVariableX(){
    return variableX;
}
并在该类的实例上调用它们

例如:

Interface interface = new Interface();

interface.getVariableX();//<-- Assign this to a variable or do w/e operation
2)在连接的
类中执行以下操作:

String login = interface.login;

String password = interface.password;
或者像这样使用它们:

public class Interface {
    private String foo = "bar";
    private int number = 14;

    public String getFoo() {
        return this.foo;
    }

    public String getNumber() {
        return this.bar;
    }
}

public class Connecting {
    public Connecting(Interface userInterface) {
        System.out.println("Foo is " + userInterface.getFoo());
        System.out.println("Number is " + userInterface.getNumber());
    }
}
System.out.println(interface.login)

等等

注意:您还应该了解
Java
命名约定。你应该以大写字母开始命名你的班级。像
连接
等。 希望这有帮助是的,像这样:

public class Interface {
    private String foo = "bar";
    private int number = 14;

    public String getFoo() {
        return this.foo;
    }

    public String getNumber() {
        return this.bar;
    }
}

public class Connecting {
    public Connecting(Interface userInterface) {
        System.out.println("Foo is " + userInterface.getFoo());
        System.out.println("Number is " + userInterface.getNumber());
    }
}

是的,有可能。你能给我们看一下代码吗?好的,现在你加了一半代码。Connecting.java是如何发挥作用的,您需要向它传递哪些变量?还有,您尝试了什么,它是如何不起作用的?我需要向Connection.java发送两个变量(字符串类型,一个用于登录,一个用于密码)。在Connection.java中,我只有:公共类Connect{public static void method_Connect(){System.out.println(“Connected to database!”);}那么,还有什么问题吗?如果没有,请回答。我有公共静态字符串datalogin=log.getText();在Interface.java中,字符串login=Interface.datalog;在connection中,但存在错误:无法对非静态字段Interface.datalogEhm.进行静态引用。接口中的字段名为
datalogin
,但您正在调用名为
datalog
的字段。已更正,但在'Interface.java'中,我有错误“无法对非静态字段日志进行静态引用”错误是不言而喻的。您的
log
对象是一个类的实例,您正在对其调用
getText()
方法。因此,非静态。或者将
getText()
方法也设为静态,并像
datalogin=ClassName.getText()那样调用它
或在连接类中实例化接口类,并创建一个getter方法,如我在回答开头所示
public class Interface {
    private String foo = "bar";
    private int number = 14;

    public String getFoo() {
        return this.foo;
    }

    public String getNumber() {
        return this.bar;
    }
}

public class Connecting {
    public Connecting(Interface userInterface) {
        System.out.println("Foo is " + userInterface.getFoo());
        System.out.println("Number is " + userInterface.getNumber());
    }
}