ja estou a um bom tempo tentando fazer uma coisa e ja fiz alguns tópicos no mesmo sentido mas acho que esta um pouco complicado então estou refazendo o tópico, o que eu quero é o seguinte
public void dan(){
int valor = 10
}
public void tela(){
System.out.println(valor);
}
não me importa como eu só quero saber como eu faço para poder interagir métodos um com o outro e sei que é possível
Na verdade importa sim, pois tem várias formas de fazer, e a “melhor” vai depender do contexto. E sem saber o contexto, só podemos especular, mas enfim…
Quando você faz isso:
public void dan() {
int valor = 10; // <-- não esqueça o ponto-e-vírgula!
}
A variável valor é local ao método dan (ela só existe ali dentro, depois que o método é executado ela “some” e não pode ser acessada de fora do método).
Se a ideia é passar esse valor para outro método, você pode fazer com que o outro método receba este valor como parâmetro (como já indicado acima):
public void dan(){
int valor = 10;
tela(valor);
}
public void tela(int valor){
System.out.println(valor);
}
Ou, se o 10 não for ser usado para mais nada dentro de dan, nem precisaria de variável, passe o valor direto:
public void dan(){
tela(10);
}
public void tela(int valor){
System.out.println(valor);
}
Ou você pode fazer o método dan retornar o valor, aí outros métodos podem obter esse valor retornado:
public int dan(){
return 10;
}
public void tela(){
// imprime o que for retornado por dan
System.out.println(dan());
}
Como eu disse, sem contexto não dá para saber o que faz mais sentido (não sabemos o que é esse valor, como/quando ele é usado, quais as regras de interação entre esses métodos, etc). Pois dependendo do caso, o valor poderia ser até uma variável de instância:
public class MinhaClasse {
private int valor;
public void dan() {
this.valor = 10;
}
public void tela(){
System.out.println(this.valor);
}
}
Aí as modificações feitas em um método são visíveis no outro, já que agora valor é um campo da classe, e não mais uma variável local.