Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Comparação de métodos em classes

Boa tarde pessoal, tenho uma duvida..

Em Java, não é possível realizar algo como:

public class MinhaClasse {
    public static void main(String args[]) {

        public void ImprimeTexto(String texto) {
            System.out.println(texto);
        }

        ImprimeTexto("testando metodo");
    }
}

Porque não é possível chamar o método desse jeito?

Seria antes necessário obrigatoriamente instanciar um objeto para conseguir executar o método 'ImprimeTexto'?

Ou seja,

public class ClasseAlternativa {

    public void ImprimeTexto(String texto) {
        System.out.println(texto);
    }

    public static void main(String args[]) {

        ClasseAlternativa f = new ClasseAlternativa();
        f.ImprimeTexto("testando metodo");
    }
}

Obrigado desde já!

2 respostas
solução!

Felipe, de boa ?

O problema ali é que você está definindo um método dentro de outro, o java não permite fazer isso.

Por isso a segunda forma está correta.

Contudo você consegue chamar sem precisar de uma instância, desde que o método seja estático :


public class ClasseAlternativa {

    public static void ImprimeTexto(String texto) {
        System.out.println(texto);
    }

    public static void main(String args[]) {
        ImprimeTexto("testando metodo");
    }
}

Valeu Matheus!