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.