SóProvas


ID
287572
Banca
INSTITUTO CIDADES
Órgão
UNIFESP
Ano
2009
Provas
Disciplina
Programação
Assuntos

Acerca de Construtores em Java, marque a alternativa correta.

Alternativas
Comentários
  • Não entendi pq a "A" está errada.

    public class Estudo2 {
    private int coisa;
     
    public Estudo2(int a) { //Construtor declarado
    coisa = a;
    }
     
    public static void main(String[] args) {
    Estudo2 abestado;
    abestado = new Estudo2(); //Erro de compilação - constructor undefined, cadê o "default", me parece que ele não é mais fornecido como diz no enunciado
    }
    }
  • a) Quando não é declarado nenhum construtor na classe, o Java o cria. Esse construtor é o construtor opcional, ele não recebe nenhum argumento e o corpo dele é vazio. A partir do momento que o construtor é declarado, o construtor default não é mais fornecido
    Qual o erro??

    b) Um construtor é um método especial, já que possui retorno. Não possui retorno.

    d) Os construtores não permitem modificar suas saídas.
  • Acredito que erro da letra A esteja em corpo dele é vazio,

    o corpo do construtor padrão chama o construtor pai, Ex.:

    Construtor(){
         super();
    }


    Se um construtor é declarado com o corpo vazio pelo programador, o java sempre adiciona implicitamente a chamada para o construtor pai.
     
  • Eu acho que o erro da letra A) é o que o primeiro colega falou. Se o programador não criar um construtor, o java o cria sem argumentos e com o corpo vazio. Se caso o programador coloque um construtor, esse construtor que o java criou não é mais fornecido e não pode ser mais executado. Como o colega colocou em cima, quando ele declarou Estudo2(int a), o construtor default Estudo2() { } não é mais fornecido.
  • O erro da letra A é afirmar que a partir do momento que o construtor é declarado, o default não é mais fornecido. Se você descompilar uma classe java com um construtor criado, verá que o default estará lá. Ele é fornecido em todos os casos, apesar de implícito, em tempo de compilação a JVM entenderá que este construtor default existe.
  • Pessoal, o erro da letra A está na realidade em: 
    a) Quando não é declarado nenhum construtor na classe, o Java o cria. Esse construtor é o construtor opcional (Errado), ele não recebe nenhum argumento e o corpo dele é vazio. A partir do momento que o construtor é declarado, o construtor default não é mais fornecido.

     O correto seria PADRÃO, ele não é opcional, ele é default. Caso seja declarado um outro construtor, o construtor padrão não será criado, conforme Deitel:

    "Se você declarar qualquer construtor para uma classe, o compilador Java não criará um construtor padrão para essa classe." Deitel 8a Edição pág. 69.