2016-07-29 34 views
-1

Main.javaerhalten den Wert von einer anderen Klasse

public static void main(String[] args) { 
    String username =""; 
    String password = ""; 
    Class_b b = new Class_b(); 
    b.login("username","password"); 
} 

Class_b.java

public String login(String user, String pass) { 
     String username = "admin"; 
     String password = "password"; 
     return username+" "+password; 
} 

Ich möchte die username und password Werte von Class_b und speichern sie in die String-Variablen erhalten username und password in Main.java.

+0

Sie geben anscheinend den Benutzernamen und das Passwort in die Login-Funktion FROM main, warum müssten Sie es zurück zum Haupt zurückgeben? – redunderthebed

Antwort

2

Sie könnten einen eigenen Java-Typen zurückgeben, oder einfach nur eine Reihe von String. So etwas wie

Class_b.java

public String[] login(String user, String pass) { 
     String username = "admin"; 
     String password = "password"; 
     return new String[] { username, password }; 
} 

und dann könnten Sie rufen Sie es wie

public static void main(String[] args) { 
    String username =""; 
    String password = ""; 
    Class_b b = new Class_b(); 
    String[] arr = b.login(username,password); 
    if (arr.length > 1) { 
     username = arr[0]; 
     password = arr[1]; 
    } 
    System.out.println("username=" + username + ", password=" + password); 
} 

Es ist auch nicht klar, warum Sie vorbei die String (n) Ihre Methode ignoriert Sie und gibt neue Werte zurück.

+0

danke. es hilft mir sehr –

1

Schritt 1: Erstellen Klasse Class_b:

public class Class_b { 

private String username; 

private String password; 

public Class_b() { 
    this.username = "admin"; 
    this.password = "password"; 
} 

/** 
* @return the username 
*/ 
public String getUsername() { 
    return username; 
} 

/** 
* @param username 
*   the username to set 
*/ 
public void setUsername(String username) { 
    this.username = username; 
} 

/** 
* @return the password 
*/ 
public String getPassword() { 
    return password; 
} 

/** 
* @param password 
*   the password to set 
*/ 
public void setPassword(String password) { 
    this.password = password; 
} 

}

Schritt 2: In Main.java

public static void main(String[] args) { 
    Class_b class_b = new Class_b(); 
    username = class_b.getUsername(); 
    password = class_b.getUsername(); 
} 

Dank.

+0

Gute Idee, Getter und Setter zu verwenden. es hilft mir zu verstehen, was die Getter und Setter machen –

2

Sie können einfach verschüttet() Methode Für z.

String temp = b.login("username","password"); 
String login[] = temp.split("\\s+"); 
/*spilts username & password separated by space*/ 
System.out.print(login[0]); //prints username 
System.out.println(login[1]); //prints password 
Verwandte Themen