Existe algum jeito de chamar um método de uma outra CLASSE, porém SEM usar o “new”?
O motivo disso é que em uma outra classe ele já guarda dados nas variaveis, e ao usar o new em uma outra classe, ele irá reservar outra instancia, nao usando os dados que eu quero.
Agora, a classe 1 tem que chamar um METODO da classe2. Esse metodo ira usar dados das variaveis inseridos pela MAIN. Porém se eu uso o New na Classe 1 os dados inseridos pela Main não sao os mesmos, sao outros pois eu criei uma nova instancia de classe2.
Vou dar um exemplo bem bobinho. Digamos que você tem 2 classes, Professor e Aluno, e quer que ao aumentar o salário do Professor, aumente também a nota do Aluno. Digamos agora que o professor tenha só um aluno.
Isso quer dizer que o professor deve receber um aluno:
Professor prof = new Professor ("Alcides");
Aluno al = new Aluno ("Maçaranduba");
prof.setAluno (al);
prof.aumentarSalario(); // que bom, vai também aumentar a nota do Maçaranduba
...
// Na classe Professor:
private Aluno aluno;
private double salario;
public void setAluno (Aluno aluno) { this.aluno = aluno; }
public void aumentarSalario () {
salario = salario * 1.1; // aumenta 10 por cento...
aluno.aumentarNota (); // aumente a nota do aluno
}
// Na classe Aluno:
private double nota;
public void aumentarNota () { nota = nota * 1.1; }
Não precisa de nada de static. Você só precisa passar uma referência de um objeto da classe 2 para a classe 1.