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