Я весь день искал решение этой проблемы, но, прежде всего, я хочу сказать, что я совершенно новичок в java и объектной ориентации, поэтому, пожалуйста, будьте осторожны со мной
Тогда вот код, который я сделал до сих пор
Основной класс
package br.edu.fatecmm.study;
public class Main {
public static void main(String[] args) {
Pessoa ppl = new Pessoa();
Conta gamer = new Conta();
gamer.setLogin("kouhei");
gamer.setPassword("mypass");
ppl.setNome("Qualquer");
ppl.setSobrenome("Nome");
ppl.setJogador(gamer);
ppl.imprimePessoa();
gamer.imprimeConta();
}
}
Пессоа Класс
package br.edu.fatecmm.study;
public class Pessoa {
private String nome, sobrenome;
private Conta jogador;
public void imprimePessoa(){
System.out.println("nome = " + nome);
System.out.println("sobrenome = " + sobrenome);
System.out.println("jogador = " + jogador.toString());
System.out.println(" ");
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getSobrenome() {
return sobrenome;
}
public void setSobrenome(String sobrenome) {
this.sobrenome = sobrenome;
}
public Conta getJogador() {
return jogador;
}
public void setJogador(Conta jogador) {
this.jogador = jogador;
}
}
Conta Class
package br.edu.fatecmm.study;
public class Conta {
private String login, password;
public void imprimeConta(){
System.out.println("login = " + login);
System.out.println("password = " + password);
System.out.println(" ");
}
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
Итак, что происходит, когда я запускаю код, описанный выше, это:
"C:\Program Files\Java\jdk-11.0.2\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.3.4\lib\idea_rt.jar=49901:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.3.4\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\Kouhei\IdeaProjects\Study\out\production\Study br.edu.fatecmm.study.Main
nome = Qualquer
sobrenome = Nome
jogador = br.edu.fatecmm.study.Conta@3498ed
login = kouhei
password = mypass
Process finished with exit code 0
В основном, что я хочу сделать, это когда я звоню
ppl.imprimePessoa ();
Он должен вернуть nome + sobrenome, что соответственно равно "Qualquer" и "Nome", а затем вернуть jogador, который ДОЛЖЕН быть "kouhei" и "mypass", однако вместо возврата kouhei и mypass я получаю "br" .edu.fatecmm.study.Conta @ 3498ed "
Я думаю, что 3498ed находится в состоянии памяти, но я не уверен, может быть, я говорю что-то совершенно глупое, но я даже не знаю, что искать, чтобы изучить об этом
Я пытался читать о Getter и Setters, но ничего не помогает
Я также хочу иметь возможность получать не только "kouhei / mypass" при вызове
ppl.imprimePessoa ();
Но я также хотел бы иметь возможность получить только "kouhei", например
Я пробовал это
ppl.setJogador(gamer.getLogin());
но это не работает
Я часами пробовал много разных методов, а также видел кое-что об экземплярах, но не смог заставить его работать
Заранее спасибо