我有两个JAVA文件和两个公共类在其中我使用File1.java中的用户名,然后需要在File2.java中使用它,所以基本上我需要从File1.java中的用户获取用户名然后通过它到File2.java进行处理。
现在我完成了使用File1.java从用户获取用户名的部分,但不知道如何将其提供给File2.java进行处理。这就是我如何从File1.java中的用户获取用户名并将其存储到变量用户。现在我需要将此用户数据移动到File2.java。
String user = jTextField1.getText();
所以请帮我把File1.java中的用户名数据传递给File2.java
答案 0 :(得分:1)
你需要的是把它传递给File2.java
,所以假设你有这样的东西:
public class File2
{
...
//Constructor
public File2(...)
...
}
你需要像这样改变它:
public class File2
{
....
String userName = "";
public File2(...String userName...)
{
this.userName = userName;
...
}
....
}
并且这样称呼(来自您的File1
班级):
String user = jTextField1.getText();
...
File2 file2 = new File2(..., user, ...);
或者,您可以将userName
的实例传递到File1
类,而不是传递File2
字段,并通过Field2
公开您想要访问的任何字段在get
课程中创建相应的File1
方法。当您需要访问多个字段时,这通常会派上用场。
答案 1 :(得分:0)
您可以将其作为parameter
传递给File2
类中的方法,也可以在user
类中使用File1
的getter方法并创建新的File1
类中File2
类的实例,并使用该实例调用getter
。
在File1
new File2().doSomethingMethod(user);
在File2
public void doSomethingMethod(String user){
//user has the value you wanted to pass.
}
答案 2 :(得分:0)
为了跨类共享值,可以将变量作为实例变量,并使用setter和getter来访问它们。
在您的情况下,将user
作为班级File1
的私有实例变量,然后在File2
班级中,您可以执行以下操作:
public void someMethod(File1 f1Object){
String s = f1Object.getUser();
}
答案 3 :(得分:0)
File1.java和File2.java是文件名,它们对于您正在讨论的内容并不重要。更重要的是你有两个java类。谈论他们的类名而不是文件名。
希望你还拥有两个(或更多)java 对象,对吗?也就是说,这些类的实例。
如果第二个类的对象需要进行一些处理,那么你需要在第二个类中定义一个方法,如下所示:
public void doSomeProcessing(String userName)
{
}
然后像这样调用它:
object2.doSomeProcessing(jTextField1.getText());
但请为文件,类,对象和方法提供有意义的名称!