Vejam essas duas definicoes de programas e digam o que sera impresso ao tentar executar cada uma:
PROGRAMA 1:
public class teste{
public static void main(String[] args){
teste instaciaTeste = new teste();
System.out.println("FIM PROGRAMA 1");
}
teste(){
System.out.println("PROGRAMA1");
}
}
PROGRAMA 2:
public class teste{
public static void main(String[] args){
teste instaciaTeste = new teste();
System.out.println("FIM PROGRAMA 2");
}
void teste(){
System.out.println("PROGRAMA2");
}
}
Eh isso galera falem ai o que acontecera se tentarmos compilar e rodar os programas… LOGICO um de cada vez pq os dois se chaman teste!!
Foi mais uma q me pegou…
public class teste{
public static void main(String[] args){
teste instaciaTeste = new teste();
System.out.println("FIM PROGRAMA 1");
instaciaTeste.teste();
}
void teste(){
System.out.println("PROGRAMA1");
}
}
E ai vai compilar? Vai rodar?
acho q assim ficou bem claro o significado da palavrinha void na frente do construtor…
Abraços…
[/code]
Bom, não sei se estou certo. Eu acho q imprime o seguinte:
Programa1:
PROGRAMA1 // chamado no constructor
FIM PROGRAMA 1 // chamado no println
Programa2:
FIM PROGRAMA 2
/*
Aqui acho q a string PROGRAMA 2 não é impressa pq a chamada à teste() é p/ construir a classe, e não é chamado como um método da classe. Porém o método da classe existe normalmente
*/
Programa3:
FIM PROGRAMA 1
PROGRAMA1
/* Aqui acho q primeiro é chamado o construtor teste(), depois impresso a primeira string, depois chamado o método da classe teste p/ imprimir outra string
*/
Na minha opinião compila e roda normal pois acho q o compilador distingue bem a diferença entre a chamada do método e do construtor. Não sei se estou certo, preciso testar ainda. Mas caso eu esteja errado peço que me corrijam
public class teste{
public static void main(String[] args){
teste instaciaTeste = new teste();
System.out.println("FIM PROGRAMA 4");
instaciaTeste.teste();
}
teste(){
System.out.println("PROGRAMA4");
}
}
E essa:
public class teste{
public static void main(String[] args){
teste instaciaTeste = new teste();
System.out.println("FIM PROGRAMA 5");
instaciaTeste.teste();
}
teste(){
System.out.println("PROGRAMA5");
}
void teste(){
System.out.println("PROGRAMA 5");
}
}
boa …
vo tentar sem compilar ae…
a primeira nem compila e a segunda vai ter saida:
PROGRAMA 5
FIM PROGRAMA 5
PROGRAMA5
agora vo lah compilar pra ver…
Hhehehe
Abraços