Problema execução OO

5 respostas
L

Olá pessoal, como podem ver, sou novo aqui no forum... (também estou começando em Java :roll: ).

Eu montei um código OO (exemplo do livro: Use a cabeça: Java!), compilei ele com [color=darkred]javac Dog.java[/color]. Mas quando executo o bytecode ([color=green]java Dog[/color]), da o seguinte erro:

Exception in thread "main" java.lang.NoSuchMethodError: main

O que seria isso? me ajudem a entender...?

Segue meu código (único arquivo .java):

class Dog {
	int size;
	String breed;
	String name;
	
	void bark() {
		System.out.println("Ruff! Ruff!");
	}
}

class DogTestDrive {
	public static void main(String[] args) {
		
		//cria um objeto dog
		Dog d = new Dog();
		
		d.size = 40;
		d.bark();	
		
	}
}

5 Respostas

Gabriel.Amaral

Acho que em vez de chamar Dog.java, chame seu arquivo de DogTestDrive.java e tente compilar e executar.

L

Gabriel.Amaral:
Acho que em vez de chamar Dog.java, chame seu arquivo de DogTestDrive.java e tente compilar e executar.

Ah, agora foi! hehe. Então, sempre que eu colocar mais de uma classe dentro de um mesmo arquivo .java, eu tenho que salvar esse arquivo com o nome da classe que contenha o método main, certo?

Obrigado Gabriel.Amaral.

Gabriel.Amaral

Você pode pensar desse jeito.

Mas não recomendo a criação de várias classes no mesmo arquivo java.

Mesmo assim quando vc executa o java Dog ele estava procurando o metodo main dentro da sua classe Dog e o metodo main estava no DogTestDrive.

Abraços

L

Gabriel.Amaral:
Você pode pensar desse jeito.

Mas não recomendo a criação de várias classes no mesmo arquivo java.

Mesmo assim quando vc executa o java Dog ele estava procurando o metodo main dentro da sua classe Dog e o metodo main estava no DogTestDrive.

Abraços

Aham, é, eu realmente não gosto de colocar várias classes num mesmo arquivo… mas esse foi só um teste rápido.

Valeu por explicar, até mais!

javatar

Aconteceu isso comigo também , rsrsrs
É que quando é OO , você tem que criar mais de uma classe , e na hora de salvar você salva a que está com a , public static void main =)

Criado 29 de agosto de 2010
Ultima resposta 29 de ago. de 2010
Respostas 5
Participantes 3