Problema execução OO

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):

[code]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();	
	
}

}[/code]

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

[quote=Gabriel.Amaral]Acho que em vez de chamar Dog.java, chame seu arquivo de DogTestDrive.java e tente compilar e executar.
[/quote]

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.

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

[quote=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[/quote]

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!

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 =)