Notizen
6.3 - Criação e sobrecarga de construtor
Inhalt der Notizen (8)
Seite 1
Criação de construtores
Construtores são criados de maneira similar a métodos, exceto pelo fato de que eles utilizam o nome da classe e não possuem tipo de retorno.
Exemplo:
class Person{
String firstName;
String lastName;
Pearson(String firstName, String lastName){
this.firstName = firstName;
this.lastName = lastName;
}
}
Acima temos um construtor, chamado com dois argumentos String, o qual instancia a classe e inicializa a nova instância criada.
Como definimos um construtor com argumentos para essa classe, o compilador NÃO irá criar o construtor padrão dessa classe sem argumentos. Assim sendo, somente estará disponível para ser chamado o construtor com argumentos definido.
Seite 2
Construtores sobrecarregados
Vários construtores podem ser declarados para a mesma classe, desde que seus parâmetros sejam diferentes.
Declarar dois construtores que possuem o mesmo número e tipo de parâmetros para a mesma classe irá resultar em erro em tempo de compilação.
Os dois construtores mostrados acima podem ser declarados na mesma classe desde que sua lista de parâmetros seja diferente. O primeiro construtor declarado tem somente um parâmetro enquanto o segundo tem dois. A máquina virtual do Java irá diferenciar esses dois construtores baseando-se na lista de argumentos.
Seite 3
Construtores padrão
Caso você não declare de forma explícita um construtor para a classe, o compilador irá fornecer automaticamente um construtor padrão, sem argumentos para se criar objetos dessa classe.
Este construtor padrão chamará o construtor sem argumentos da respectiva superclasse.
Esse construtor padrão também terá o mesmo modificador de acesso da classe que o contém.
Talvez você queira sobrescrever o comportamento desse construtor padrão declarando um construtor sem argumentos:
MyClass(){
// do something
}
Seite 4
Questões
O construtor 3 é inválido pois construtores não possuem um tipo de retorno.
O construtor 1 não tem o mesmo nome da classe, pois a classe é Whizlabs e o construtor é whizlabs() com "w" minúsculo.
O construtor 2 - Não há nada de errado nessa declaração ainda que o escopo "private" impede que a classe seja instanciada por código externo à classe.
Resposta B.
Seite 5
Um construtor sempre será chamado para se criar um objeto. Então não tem sentido que um construtor seja estático. Opção A está incorreta.
Caso um construtor seja declarado como abstract, ele não poderá ser implementado. Opção B também está incorreta.
Um construtor nunca será herdado. Isso quer dizer que a palavra-chave final também será inaplicável.
Correto: D
Seite 6
Falso. Esses construtores não poderão ser declarados na mesma classe, pois apesar de terem diferentes modificadores de acesso, a lista de parâmetros dos dois é a mesma!
O compilador não irá utilizar modificadores de acesso para diferenciar construtores!
Seite 7
Correto! A. True - Como estamos declarando um construtor com argumentos para a classe Whizlabs acima, isso quer dizer que o compilador não irá criar automaticamente o construtor sem argumentos. Isso será válido mesmo que criemos um construtor com argumentos diferentes do padrão, que não tem argumentos.
Seite 8
Resumo
Construtores são criados da mesma maneira que métodos, a diferença aqui é que construtores tem mesmo nome da classe e não tem tipo de retorno.
Múltiplos construtores podem ser declarados para a mesma classe, desde que a lista de parâmetros seja diferente.
Caso você não declare explicitamente um construtor para a classe, o compilador irá automaticamente fornecer o construtor padrão.
Informationen
- Beschreibung
- Concursos Públicos Desenvolvimento de Software (OCAJP 8 Online Course) Notiz am 6.3 - Criação e sobrecarga de construtor, erstellt von Luis Felipe Guariento am 15/08/2019.
- Erstellt von
- Luis Felipe Guariento
- Aufrufe
- 0
- Bewertung