Eu começo por fazer duas correcções básicas aos nomes propostos para as classes e para o método: o underscore só se usa em variáveis "constantes" em Java. O nome da classe deve ter a primeira letra de cada palavra em maiúscula, sem underscores a separar (o que se designa por CamelCase). Ficaria então assim: VeiculoFrigorifico e VeiculoLona.
Relativamente ao nome do atributo, não se percebe muito bem o que é. Eu presumo que seja despesa do veículo frigorífico. Nesse caso eu sugiro que não se poupem letras (não se paga mais por isso
). Os underscores ficam também de fora e a letra da primeira palavra fica em minúscula. Ficaria portanto: despesaManutencaoFrigorifico (como este atributo fica na classe VeiculoFrigorifico, eu até sugiro que se chame apenas despesaManutencao).
Agora coloca-se uma questão pertinente relativamente a este atributo: é só o VeiculoFrigorifico que tem despesa de manutenção? O VeiculoLona não tem (pode assumir-se que tem despesa 0)?
Então eu sugiro o seguinte: na classe Veiculo declaras o método getDespesaManutencao(). Podes até declará-lo como abstracto (e consequentemente Veiculo passa também a abstracta), ou então devolves simplesmente o valor 0.
Na classe VeiculoFrigorifico fazes o override ao método para devolver o conteúdo da variável despesaManutencao (que estará declarada apenas na classe VeiculoFrigorifico).
A sugestão do Baderous relativamente ao instanceof é muito perigosa. Quando se usa extensivamente este operador é sinal de que algo está mal na modelação do problema. A solução que te propus evita a utilização do instanceof assumindo uma característica em comum a todos os veículos (despesaManutencao), ainda que alguns veículos possam ter essa característica a zero. Isto é que é o polimorfismo (numa das suas formas, já que para além do override também se pode falar em overload de métodos).