Amigos, estou testando meus pequenos e iniciais conhecimentos em java e fiz esse minusculo programa que não está rodando:
packagetestejava;importjava.io.*;importjavax.swing.JOptionPane;/** * * @author Vinicius */publicclassTeste{publicvoidteste(){System.out.println("Im am a constructor");runza();}privatevoidrunza(){Stringstr=JOptionPane.showInputDialog("What's your name");JOptionPane.showMessageDialog(null,"Your name is:"+str);}publicstaticvoidmain(Stringargs[]){Testetst=newTeste();}}
Ele compila mas quando executo não acontece nada, nem erro nem nada.
Eu tinha feito o mesmo programa tudo no método main e tinha funcionado. Quando criei o construtor e chamei a função “runza()” parou de funcionar.
Obrigado!
publicTeste{System.out.println("Im am a constructor");runza();}
Falows
vinians
brunorota:
Na vdd vc nao criou um construtor
Você criou apenas um método teste
o codigo do construtor deve ser assim
publicTeste{System.out.println("Im am a constructor");runza();}
Falows
Caraca amigão, era devido ao void!!! Nussa que vacilo, como diz uma pessoa em um fórum “Construtor NÃO é Método” hehhe
Valeu!
brunorota
Não só devido ao void
O nome do construtor deve ser igual ao nome da classe, e tem que respeitar letras maiuculas e minusculas
Mais eh isso ae
FAlowss
williamdasflores
vinians,
blz cara??
No primeiro caso, como vc não tinha o Construtor você teria que chamar o método teste no método main:
public static void main(String args[]) {
Teste tst = new Teste();
tst.teste();
}
ViniGodoy
Fala xará. Vai aí o código corrigido e com comentários.
packagetestejava;importjava.io.*;importjavax.swing.JOptionPane;/** * * @author Vinicius */publicclassTeste{//O constructor tem o mesmo nome da classe, e não tem tipo de retorno, nem mesmo "void".publicTeste(){System.out.println("Im am a constructor");//É uma má prática chamar um método que não seja final no construtor.}privatevoidrunza(){Stringstr=JOptionPane.showInputDialog("What's your name");JOptionPane.showMessageDialog(null,"Your name is:"+str);}publicstaticvoidmain(Stringargs[]){Testetst=newTeste();tst.runza();}}