Como passar uma variavel de um metodo static para uma nao static

4 respostas
M

exemplo : quero passar o conteudo da variavel nois para a variavel linha

public static void todoido(String s){

String nois = s;
imprimir(nois);

}

//

public void imprimir(String s){
linha = s;
    System.out.println(linha);
   
           
    
}

4 Respostas

guilherme.chapiewski

É necessário criar uma instância dessa classe. Ficaria mais ou menos assim:

public class ClasseSemNome {
    public static void todoido(String s){ 
        String nois = s; 
        
        ClasseSemNome classe = new ClasseSemNome();
        classe.imprimir(nois); 
    } 
 
    public void imprimir(String linha){ 
        System.out.println(linha); 
    }
}

Outra coisa, não entendí porque você faz estas atribuições malucas criando string com mesmo conteúdo, isso não serve para nada :slight_smile:

M

vlwwwwwwwwwww era isso q eu queria hehehe liga nao so meio mongol me ajudo mto mesmo obrigado

G

Em orientação a objetos, um método statico só pode acessar variáveis e métodos também staticos.

LPJava

vc nao pode chamar um metodo nao static dentro de um metodo static isso eh uma regra.
Entao vc criar uma instancia da class e invoca o metodo não static passando esse valor static veja:

class Teste{

public void setIdade(int a){
System.out.println(a);}

public static void main(String args[]){
//criei uma instancia
Teste t = new Teste();
//ela invoca o metodo nao static setIdade e passo o valor
t.setIdade(15);
//o que sera impresso? testa e voce mesmo ver
}
}

flw !

Criado 7 de fevereiro de 2007
Ultima resposta 7 de fev. de 2007
Respostas 4
Participantes 4