Bem pessoal, sou novo qui no forum, estou iniciando em java e achei o portaljava pra enche o saco de todo mundo
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
[code]
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);
}
}[/code]
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.
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.
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. =)
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]
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?
ahh sim… eu tava trocando as bolas…
tava achando que o this era pro metodo
bem que eu tava achando meio estranho
vlw cara