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

Porque não compila?

Não entendi porque é que dá o seguinte erro no Eclipse: "The public type CriaConta must be defined in its own file" mas percebi que ao deixar a class com a letra minúscula (criaConta) o erro some, entretanto no exemplo estã com a letra C maiúscula... alguém sabe me dizer o por que??


public class CriaConta {

    public static void main(String[] args) {
        Conta primeiraConta = new Conta();
        primeiraConta.saldo = 200;
        System.out.println(primeiraConta.saldo);
    }
}
2 respostas

Fala Gabriel.

Verifica se a classe CriaConta está salva no arquivo CriaConta.java e se nesse arquivo só tem uma classe com public.

Por exemplo, esse código abaixo não compila porque tem duas classes públicas dentro do arquivo.

//Arquivo CriaConta.java

public class CriaConta {

    public static void main(String[] args) {
        Conta primeiraConta = new Conta();
        primeiraConta.saldo = 200;
        System.out.println(primeiraConta.saldo);
    }
}

public class Saldo {

    public static void mostraSaldo(String saldo) {
        System.out.println("Mostra saldo: "+saldo);
    }
}

Agora vai compilar porque só uma é publica.

//Arquivo CriaConta.java

public class CriaConta {

    public static void main(String[] args) {
        Conta primeiraConta = new Conta();
        primeiraConta.saldo = 200;
        System.out.println(primeiraConta.saldo);
    }
}

private class Saldo {

    public static void mostraSaldo(String saldo) {
        System.out.println("Mostra saldo: "+saldo);
    }
}

private class Extrato {

    public static void imprimeExtrato() {
        // TODO: criar impressão do extrato
    }
}

Ou seja, o nome do arquivo deve ser igual ao nome da Classe pública.

solução!

Achei meu erro, foi simplesmente porque salvei a classe com o nome (criaConta) e portanto ao chamar a classe no método ele não estava encontrando a classe CriaConta porque o nome era criaConta ...

Valeu aí pelo retorno!