método construtor

Como eu inicializo um atributo com parametro e sem parametro, e qual é a diferença???

Obrigado

Oi felipe,

dá uma olhadinha neste tópico,
http://www.guj.com.br/posts/list/56580.java

o pessoal explicou tudo aí,
acho que já deve te ajudar!!

se tiver mais alguma duvida posta aí…

Oi,

Segue o que encontrei na net e achei interessante.:

"O método construtor é desenvolvido da mesma forma que uma função, a única diferença é que ele tem o mesmo nome da classe.

Isso se deve ao fato de que um objeto deve ser construído cada vez que chamamos a classe. E a responsabilidade de fazer isso é do construtor. Isso parte do princípio que podemos ter dois objetos com a mesma característica, mas que não são os mesmos objetos.

Ou seja, nós podemos ter uma TV de 29" ligada no canal 15 e nosso amigo tem uma outra TV que também é de 29" e está ligada no canal 15. Perceba que ambas as TVs têm as mesmas características, mas continuam sendo duas TVs diferentes.

Sempre que criamos uma classe, Java automaticamente vincula um método construtor padrão interno com o mesmo nome da classe, mas sem inicializar nenhum atributo.

Para demonstrar um método construtor, criaremos um construtor padrão sem argumentos no qual já contém os valores dos atributos definidos por nós mesmos."

Agora olha o exemplo que bolei…

Então, vamos imaginar que sempre que uma TV é construída, o seu padrão é tamanho 21", desligada e no canal 0. Então, podemos definí-lo como:

[code]public class Tv
{
private int
in_tamanho,
in_canal;

private			boolean
ib_ligada;

	public		Tv()
{
    	in_tamanho=21;
   		in_canal=0;
    	ib_ligada=false;
	}

}[/code]

Porém, existe outra situação onde uma TV pode ter tamanhos diferentes… 14 ou 15 polegadas… certo ? Então, poderemos fazer.:

[code]public class Tv
{
private int
in_tamanho,
in_canal;

private			boolean
ib_ligada;

//
// Construtor da classe com assinatura ou parametrização.
//
public			Tv
			(
				int		an_tamanho,
				int		an_canal,
				boolean		ab_ligada
			)
{
	in_tamanho	=	an_tamanho;
	in_canal	=	an_canal;
	ib_ligada	=	true;
}	

}[/code]

OBS: No construtor que contem parametrização, não precisamos necessáriamente adicionar seus valores em variaveis externas. Até porque, poderemos utilizalas em todo o corpo do método.

OBS2: Atribuimos os valores das parametrizações em variaveis, para utilizalas como “globais” tendo acesso de dentro
de toda codificação.

Então, como existem 2 situações (2 contrutores) poderemos criar somente uma simples classe: Contrutor default e Construtor parametrizado. Assim:

[code]public class Tv
{
private int
in_tamanho,
in_canal;

private			boolean
ib_ligada;

public			Tv()
{
    	in_tamanho	=	21;
   		in_canal	=	0;
    	ib_ligada	=	false;
	}

//
// Construtor da classe com assinatura ou parametrização.
//
public			Tv
			(
				int		an_tamanho,
				int		an_canal,
				boolean		ab_ligada
			)
{
	in_tamanho	=	an_tamanho;
	in_canal	=	an_canal;
	ib_ligada	=	true;
}	

}[/code]

Bom… espero que ajude…

Tchauzin!

Realmente esse codigo ficou dificil de entender, mas foi pela identaçao mesmo!

Há uma outra diferença: não é possível definir tipo de retorno para o método construtor.

Que identação estranha mesmo hein!

Oi,

O que poderei fazer se o guj não aceita as minhas identações e coloca tudo errado…
muito chato isso…

Tchauzin!

É eu comecei programando usando uma IDE, ai quando fui pro bloco de notas ja estava acustumado com a identação padrão mesmo =P.
Já vi posts seus e realmente sua identação é algo no mínimo “diferente” =P