Declaração errada no método main

13 respostas
internetws

Olá, eu desenvolvir este código, só que propositalmente eu mudei o nome do construtor, e mesmo assim o programa rodou, porque?

código:

public class Semana{
	public Semana(){
			String[] strSemana = new String[]{"","Domingo","Segunda-feira","Terça-feira","Quarta-feira",
			"Quinta-feira","Sexta-feira","Sábado"};		
		for(int cont = 1; cont < 8; cont++){
			System.out.println("-> " + cont + ": " + strSemana[cont]);	
		} 
	}
	public static void main(String[]args){
		new Semanas();
	}
}

13 Respostas

paulovittor23
  • vc tem outra classe chamada Semanas no mesmo pacote? ou tem algum import para ela?
  • vc recompilou a classe? aliás, tentou? pq não compilará se não existir uma classe chamada Semanas
Javabuntu

pode ter rodado se houver uma classe chamada Semanas com S no final…senão meu amigo pode testar que assim não roda de jeito nenhum…

internetws

Não, não existe nenhuma classe Semanas.

rdantas

Só vendo pra crêr!! :shock:

rmala_ti

É eu também aposto que se não houver uma classe Semanas não irá rodar.
Mas acho que vc deveria conferir o CLASSPATH, pra confirmar que não aponta para um diretório que contenha uma classe chamada Semanas.
Espereo ter ajudado.
Abraço.

internetws

Galera eu compilei no Shell e deu isso:


Semana.java:10: cannot find symbol
symbol : class Semanas
location: class Semana
new Semanas();
^
1 error

já no Netbeans deu o mesmo erro, mas rodou.

maquiavelbona

internetws:

já no Netbeans deu o mesmo erro, mas rodou.

Então não compilou e ele usou o último .class que estava ok.

Até!

internetws

Hum agora eu entendi, quer dizer que ele armazenou na memória o .class que estava correto. Como a declaração no método MAIN estava errada… ele simplesmente, buscou o .class que havia armazenado que estava bom. Sim mas tenho uma outra dúvida… isso não seria errado, o Netbeans rodar um código sabendo que ele estar errado?

maquiavelbona

Na verdade ele avisou para ti que estava errado. O que ele fez foi avisar e pegou o último que consegue rodar, evitando a parada de teste.
Deve existir uma opção para ele não continuar caso errado, mas não uso ele usualmente então não sei.

Até!

internetws

maquiavelbona:
Na verdade ele avisou para ti que estava errado. O que ele fez foi avisar e pegou o último que consegue rodar, evitando a parada de teste.
Deve existir uma opção para ele não continuar caso errado, mas não uso ele usualmente então não sei.

Até!

Valeu brother, eu vou dar uma olhada aqui.

internetws

Valeu a todos. Muito obrigado.

Quinger

com certeza vc estava rodando o arquivo compilado antigo…

JMan

Bom, então tem alguma coisa errada aí… verifique, pois vc deve estar comendo bola em algum lugar; Pq isso aí não vai compilar de jeito nenhum.

Criado 27 de janeiro de 2008
Ultima resposta 28 de jan. de 2008
Respostas 13
Participantes 8