2015-08-18 5 views
2

Я пытаюсь получить доступ к String из другого класса, но этот String является переменной.Создание строк в нескольких классах

String является:

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

В настоящее время он находится в классе loginScreen.java, но мне нужно, чтобы получить доступ к нему в другом классе, SellingScreen.java

Как мне сделать этот Stringpublic и просматриваться на протяжении моих занятий?

я сейчас попытался использовать в LoginScreen.java:

public String GetUsername() 
    { 
     String username = new String (EnterUsername.getText()); 
     return username; 
    } 

И получить к нему доступ в SellingScreen.java:

LoginScreen loginScreen = new LoginScreen(); 
String Username = loginScreen.GetUsername(); 

Я проверил, чтобы увидеть, если она возвращает значение с:

System.out.println(" hello " + Username); 

но это ничего не возвращает.

Ive испытания в рамках метода со следующими, но отображает только «привет»

public String GetUsername() 
    { 
     String username1 = new String (EnterUsername.getText()); 
     System.out.println("Hello" + username1); 
     return username1; 

    } 
+0

@LawrenceAiello Я попробовал ваш метод – user2932824

ответ

0

Создать публичный метод в классе LoginScreen.java:

public String getUsername() { return username; } 

Убедитесь в том, чтобы сохранить фактический элемент данных строки частный:

private String username; 

Сейчас в вашем main функция SellingScreen.java (или там, где основной класс), необходимо создать экземпляр класса LoginScreen и получить строку:

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

я попробовал ваш метод, но все еще не будут работать, пожалуйста, вы можете посмотреть на отредактированную версию? – user2932824

+0

Мне немного сложно отлаживать, не видя остальной код.Что такое 'EnterUsername'? Вы уверены, что это работает? –

+0

'EnterUsername' является текстовым полем в графическом интерфейсе netbeans, который работает и возвращает значение. Однако, когда я использую это в методе, он не возвращает значение в методе. Я обновил код выше, чтобы проверить значение. – user2932824

1

Я думаю, что это может быть статическим, вы можете использовать его между классами:

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

Или, может быть, public static String getUsername() { return EnterUsername.getText(); } –

0

Вы можете определить атрибут private String username; и общедоступный метод getter public String getUsername() { return username; }.

0

Вам понадобится создать экземпляр вашего первого класса во втором классе.

MainClass mainClass = new MainClass(); 

nameOfClass.object так для здесь и получить доступ к другому классу ...

otherClassVariable = mainClass.username; 

Или вы должны сделать строку статичным. Если переменная является статической, то есть только одна ее копия, и вам не нужно будет создавать экземпляр вашего первого класса.

Static String username = new String (EnterUsername.getText()); 
x = MainClass.username ; 
Смежные вопросы