Construtor

4 respostas
T

Eu nao entendi ao certo o q eh isso,
sei q o java adiciona um como padrao se nao pormos nada
mas n sei a real função disso
li em um monte de lugar mas nao vi o emprego pratico disso

por exemplo num exercicio q tenho q fazer aki
a classe pessoa que criei deve ter atributos nome e sexo,e ae fala q a classe deve ter um construtor
que inicialize esses dois atributos e um metodo q os exibe

class Pessoa{

public   Pessoa (String Sexo,String nome){ // aki tem construtor certo?

//como inicializar e depois exibi los?

}

n to querendo exercicio pronto, ainda sou mto horrivel em java
e qto mais leio menos entendo pois penso que falta exemplos praticos nos livros,
eles falam falam e falam…
Obrigado aew! :slight_smile:

4 Respostas

Marky.Vasconcelos

Construtorem servem realmente para construir o objeto, imagine sua classe pessoa quando ela nascer ela tem que receber um nome e ser indicado o sexo dela, como o construtor que voce fez:

class Pessoa {
public Pessoa(String sexo, String nome){
}
}

Na construção voce pode pegar esses valores e atribuilo a algum atributo da classe.

algo como:

class Pessoa {
String sexo;
String nome;
public Pessoa(String sexo, String nome){
this.sexo = sexo;
this.nome = nome;
}
}

Desse modo não sera necessario chamar um método como um setter ou então atribuir um valor a essas variaveis já que foram atribuidos na construção do objeto (Fora o caso de alterar o valor é claro)

T

hmm

mas para exibir ae

seria com

System.out.println(sexo)

System.out.println(nome)

n sei se tem logica pq ainda n tenho o sexo e o nome da pessoa neh?

o this. indica o q?o objeto?

bruno.leite

this é a referência do próprio objeto, se vc usar this.sexo, está referênciando o atributo sexo, se vc usar this.metodo(), irá chamar um método e se usar this() irá invocar o construtor da classe.

A

Não se esqueça, também, que toda vez que vc fizer new em um objeto, o construtor dela será chamado.
Por exemplo, vamos utilizar esse objeto Pessoa:

class Pessoa {  
 String sexo;  
 String nome;  
 public Pessoa(String sexo, String nome){  
 this.sexo = sexo;  
 this.nome = nome;  
 }  
 }

Ao tentar criar uma instância dessa objeto em uma outra classe TestaNovaPessoa:

public class TestaPessoa {

	Pessoa pessoa = new Pessoa();
	
}

Como você não colocou o construtor padrão mas apenas construtor com argumentos (nome e sexo), esse código acima NÃO compila.
Dessa maneira você obriga passar uma String com o nome e uma String com o sexo TODA vez que for criar um novo objeto do tipo Pessoa.
Se você não tivesse criado esse construtor, o compilador iria adicionar o construtor padrão e, dessa maneira, o código acima iria compilar.
É possível, também, que sua classe tenha vários construtores (sobrecarga de construtores). Aí fica a seu critério quantos construtores ter.

Blz ?

Criado 8 de agosto de 2008
Ultima resposta 9 de ago. de 2008
Respostas 4
Participantes 4