Métodos com mesmo nome?

6 respostas
S

Bem pessoal, sou novo qui no forum, estou iniciando em java e achei o portaljava pra enche o saco de todo mundo :grin:

Tinha feito um Hello World só que não do jeito que vi aqui (o que o TomazLavieri fez) tirou me algumas duvidas e me deixou com duvidas tb
public class HelloWorld {

   private String msg = null;

   public String getMessage() {

      if (msg == null)
        setMessage();

      return this.msg;
   }

   public void setMessage(String msg) {
        if (msg == null) {
           setMessage();
        } else {
        this.msg = msg;
        }
   }
   
   public void setMessage(){
        this.msg = "Hello World!";
   }

   public HelloWorld() {
      setMessage();
   }

   public HelloWorld(String msg) {
        setMessage(msg);
   }

}
Por que eu tenho isso ?
public HelloWorld() {
      setMessage();
   }

   public HelloWorld(String msg) {
        setMessage(msg);
   }
Por que tenho esses 2(métodos né?) HelloWorld ?(o mesmo para o setMessage)

Por enquanto essa é minha duvida, se puderem me responder agradeço.

Flw.

6 Respostas

E

Bom dia,

Ele apenas criou dos contrutores para a classe (isso é chamado de sobrecarga). agora existem duas formas de instânciar a classe HelloWorld:

HelloWorld h1 = new HelloWorld();

Dessa forma você utiliza o construtor padrão e a mensagem será “Hello World!”. Você pode usar também:

HelloWorld h1 = new HelloWorld("Oi mundo!");

Que a mensagem será a String que você passou.

T

ele apenas criou duas maneiras de criar um helloworld.

uma sem mensagem (no caso acaba virando helloworld).
e a outra com uma mensagem que voce passa no constructor. =)

S

hnm…
vlw pessoal, agora clareou um poco aqui…

me surgiu outra duvida…

public String getMessage() {

      if (msg == null)
        setMessage();

      return this.msg;
   }

por que tem return this.msg, o this não seria usado quando tivesse uma variavel no metodo ? nesse nao tem nenhuma.

flw abrs[/b]

T

não, o this é usado para referenciar o proprio objeto.

no caso, this.msg vai retornar a mensagem (string) que estiver na propriedade “msg” do seu objeto.

ex:

HelloWorld hw = new HelloWorld(); hw.setMsg("Mensagem"); String suaMensagem = hw.getMsg();

E dentro de seu metodo getMsg()…

public String getMsg() {
    return this.msg();
}

no caso, o metodo getMsg que foi usado no objeto hw, vai retornar a propriedade msg do proprio objeto, atraves da referencia this.

deu pra sacar?

S

ahh sim… eu tava trocando as bolas…

tava achando que o this era pro metodo

bem que eu tava achando meio estranho :grin:

vlw cara

T

tranquilo! =)

Criado 10 de fevereiro de 2008
Ultima resposta 11 de fev. de 2008
Respostas 6
Participantes 3