Estava assistindo uma vídeo aula e nela o cara deu o mesmo nome para o método e a classe, não sabia que algo assim era possível, e como consequência ele não definio o tipo de retorno para a classe , gostaria de saber quais são as consequências de se ter o mesmo nome na classe e de um método dela? e por quê não é preciso dizer qual é o tipo de retorno nessas cituações?
[quote=Ar0n]Estava assistindo uma vídeo aula e nela o cara deu o mesmo nome para o método e a classe, não sabia que algo assim era possível, e como consequência ele não definio o tipo de retorno para a classe , gostaria de saber quais são as consequências de se ter o mesmo nome na classe e de um método dela? e por quê não é preciso dizer qual é o tipo de retorno nessas cituações?
class Cachorro{
String corPelo;
//1
public Cachorro(){
corPelo = "preto";
}
//2
public int Cachorro(){
return 1;
}
}
O código acima é perfeitamente válido. 1 é um construtor. Construtores são invocados ao criar-se um objeto com new. A assinatura de um construtor deve ter modificador de acesso, e nome da classe. Ele pode ter uma lista de parâmetros, mas não deve declarar tipo de retorno.
Por outro lado, é perfeitamente possível declarar um método como o mesmo nome da classe. Isso é permitido porque não gera ambiguidade para o compilador. Mas pode confundir a leitura.
[/code]
Não já me liguei foi vacilo meu é porquê nunca tinha visto métodos construtores dentro de uma classe com o método main, só uso em outras classes e chamo no na clase que tem o main, ai foi lerdeza minha mesmo :oops: :oops: :oops: nem passou pela minha cabeça q aquilo era um construtor.