Variáveis entre métodos não se enxergam

5 respostas
R

Olá, eu tenho uma classe com dois métodos:

package verificaVersoes;

public class teste {
	
	public static void teste1 (String [] args) {
		
		int number1 = 10;
		
		System.out.println("Olá Mundo");
	}
		
	public static void teste2 (String [] args) {
			
			
			System.out.println(number1);
		
	}

}

Porque o segundo método não enxerga a variável do primeiro?

Att,
Rafael

5 Respostas

michetti

Pois você fez a declaração da variável dentro do método teste1, ou seja é uma variável local.
Cria uma variável dentro da classe teste.

public class teste{
     int number1 = 10;
    public static void teste1 (String [] args) {  

        System.out.println("Olá Mundo");  
    }  
          
    public static void teste2 (String [] args) {  
              
              
            System.out.println(number1);  
          
    }  
}

Desde jeito em qualquer lugar dentro desta pagina você conseguirá usa a variável number1.

R

É que na minha situação real eu tenho muitos métodos dentro de uma classe, por isso queria deixar mais organizado dentro de cada método.

Não é possível deixar essa variável pública?

Att,
Rafael

michetti

Crie um objeto do tipo teste1 que você consegue usar esta variável.
Acho que daria certo, faz muito tempo que não to programando rsrsrs
Mas testa ai
Ex:

public class teste{  
     
    public static void teste1 (String [] args) {    

        int number1 = 10; 
        System.out.println("Olá Mundo");    
    }    
            
    public static void teste2 (String [] args) {    
                
             teste1 objeto = new teste1();
            System.out.println(objeto.number1);    
            
    }    
}
A
michetti:
Crie um objeto do tipo teste1 que você consegue usar esta variável. Acho que daria certo, faz muito tempo que não to programando rsrsrs Mas testa ai Ex:
public class teste{  
     
    public static void teste1 (String [] args) {    

        int number1 = 10; 
        System.out.println("Olá Mundo");    
    }    
            
    public static void teste2 (String [] args) {    
                
             teste1 objeto = new teste1();
            System.out.println(objeto.number1);    
            
    }    
}
Opa! new não pode num método.

Se são métodos estáticos, para serem usados como funções, o melhor é passar dados como parâmetros.

michetti

Obrigado pela correção. Faz um tempo que to afastado da programação por já até avisei a ele que não tinha certeza hahahah

@Topico

Rafael, testa agora do jeito que nosso amigo acima disse, que dará certo.

Criado 1 de julho de 2014
Ultima resposta 1 de jul. de 2014
Respostas 5
Participantes 3