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