Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使字符串可在多个类中查看_Java_String - Fatal编程技术网

Java 使字符串可在多个类中查看

Java 使字符串可在多个类中查看,java,string,Java,String,我试图从另一个类访问字符串,但该字符串是可变的 字符串是: String username = new String (EnterUsername.getText()); 目前它在类loginScreen.java中,但我需要在另一个类SellingScreen.java中访问它 如何使此字符串公开并在整个课堂中可见 我现在尝试在LoginScreen.java中使用: public String GetUsername() { String username = new

我试图从另一个类访问
字符串
,但该
字符串
是可变的

字符串是:

String username = new String (EnterUsername.getText());
目前它在类
loginScreen.java
中,但我需要在另一个类
SellingScreen.java
中访问它

如何使此
字符串
公开
并在整个课堂中可见

我现在尝试在
LoginScreen.java中使用:

public String GetUsername()
     {
      String username = new String (EnterUsername.getText());
        return username;
     }  
public String getUsername() { return username; }
并在
SellingScreen.java
中访问它:

 LoginScreen loginScreen = new LoginScreen();
 String Username = loginScreen.GetUsername();
我已经测试过它是否返回一个带有以下内容的值:

System.out.println(" hello " + Username);
但这不会带来任何回报

我用以下方法进行了测试,但只显示“hello”


在类
LoginScreen.java
中创建公共方法:

public String GetUsername()
     {
      String username = new String (EnterUsername.getText());
        return username;
     }  
public String getUsername() { return username; }
确保将实际字符串数据成员保持为私有:

private String username;
现在,在
SellingScreen.java
中的
main
函数中(或主类所在的任何位置),您需要实例化LoginScreen类并获取字符串:

public static void main(String[] args)
{
    LoginScreen loginScreen = new LoginScreen();
    String theUsername = loginScreen.getUsername();
}

我认为它可以是静态的,您可以在类之间使用它:

public static String username = new String (EnterUsername.getText());

您可以定义属性
私有字符串用户名
和公共getter方法
公共字符串getUsername(){return username;}

您必须在第二个类中创建第一个类的实例

MainClass mainClass = new MainClass();
nameOfClass.object,以便在此处访问和在另一个类中访问

otherClassVariable = mainClass.username;
否则,必须使字符串为静态。如果变量是静态的,那么它只有一个副本,您不需要创建第一个类的实例

Static String username = new String (EnterUsername.getText());
x = MainClass.username ;

或者可能是公共静态字符串getUsername(){return EnterUsername.getText();}@LawrenceAiello我尝试了你的方法我尝试了你的方法,但仍然不起作用,你能看一下编辑过的版本吗?如果看不到你剩下的代码,对我来说调试有点困难。什么是
输入用户名
?您确定有效吗?
EnterUsername
是netbeans GUI中的一个文本字段,它有效并返回一个值。但是,当我在方法中使用它时,它不会返回方法中的值。我更新了上面的代码以检查值。