Ola galera, sou novo por aqui e novo em programação java. Programo já há um tempo considerável em C, C++, Python, PHP. Já vi algumas coisas a muito tempo em java mas nunca aprofundei. Resolvi investir em java agora justamente por causa do Android.
Bom, minha dúvida é a seguinte: Estou muito “viciado” nas outras linguagens (principalmente C e C++, que são as que eu mais domino) e não consigo de jeito nenhum criar objetos dentro do main.
import java.util.Scanner;
/* Classe para representar uma Oficina Mecânica */
public class Mecanica {
/* Essa é a classe abstrata da Mecanica para fazer
coisas comum entre outras classes */
public abstract class AbMecanica {
Scanner input;
public AbMecanica(Scanner input) {
this.input = input;
}
}
/* Classe para representar um tipo de serviço oferecido pela Oficina */
public class TipoServico extends AbMecanica {
int cod;
String descricao;
float valor;
public void criaTipoServico() {
try {
this.cod = input.nextInt();
this.descricao = input.next(" ");
this.valor = input.nextFloat();
} catch(IllegalStateException e) {
System.out.println("Arquivo não está aberto.");
}
}
/* Método construtor do tipo de serviço */
public TipoServico(Scanner input) {
super(input);
}
}
/* Funcao principal da classe Mecanica */
public static void main(String[] args) {
TipoServico servicos;
servicos = new TipoServico(null);
}
}
Esse foi um exemplozinho básico que criei para mostrar o meu erro. Já tentei de tudo. Eu entendi que não se pode criar objetos não estáticos dentro de métodos estáticos(como o main). Mas daí, se eu levo isso para outra função não estática, na hora de chama-la acusa o mesmo problema! como resolver isso? Eu tenho ctz que isso é uma coisa banal pra vocês mas pra mim tá um saco resolver isso, rsrs.
Já tentei separar isso em uma classe e colocar o main em outra, tbm sem sucesso.
Abs.