Construtor

Gostaria de saber quando é necessário usar um construtor. E por que quando eu erdo algumas classes(ex. “Window”), o java obriga a declarar um construtor?

obrigado
[]´s

Você necessita chamar um construtor sempre que quiser instanciar um objeto. No exemplo da classe Window o Java obriga você a declarar um construtor porque na classe Window (Classe Pai) não existe um construtor default.

Um construtor default é um construtor sem paramêtros. Quando você cria um novo construtor o Java coloca uma chamada implicita para o construtor da classe Pai. Portando se não existir um construtor default na classe Pai você deve fazer a devida chamada ao construtor.

A necessidade de definir ou não um construtor é do desenvolvedor / projetista. Normalmente, você define quando necessita definir um determinado estado inicial ao seu objeto para que ele funcione corretamente (definindo atributos e instanciando objetos auxiliares, por exemplo). A exceção é quando você herda uma classe que possui construtores implementados, mas não possui um construtor padrão (sem parâmetros). Nesse caso, o compilador não “saberia o que fazer” para criar a estrutura da classe pai, de forma que ele te obriga a implementar ao menos um construtor e chamar explicitamente um construtor da classe pai, sacou?

Abraço,

Armando

Toda a classe possui um construtor padrão, sem parâmetros, a menos que vc descreva um construtor com parâmetros - ai o padrão vai pro saco.

A necessidade é para criar uma instância, varia de caso à caso.