[RESOLVIDO] problemas com boolean ! retorna false toda hora

ola pessoal estou com problemas para modelar este funcionario…
ate aqui da td certo, compila certinho, e o outro arquivo tbm faz a conexao, mas meu problema e que na hora de verificar se o funcionario trabalha ou nao na empresa o codigo me retorna false toda hora, como se estivesse sido demitido.

class funcionario{
	String nome;
	String departamento;
	double salario;
	String dataEntrada;
	String RG;
	boolean estaNaEmpresa;


	//demite o funcionario
		void demitir(){
			double demitido = 0;
			this.salario = demitido;
	}

	//calcula o ganho anual
	void ganhoAnual(){
			System.out.println("este funcionario ganha por ano R$"+salario*12);
	}

	// verifica se o funcionario esta ou nao na empresa
	boolean estaNaEmpresa(){
		if(salario > 0){
			return true;
		}else{
			return false;
		}
	}
	void status(){
		if(estaNaEmpresa){
			System.out.println("este funcionario esta ativo");
		}else{
			System.out.println("este funcionario foi demitido");
		}
	}

	//recebe aumento!!!
	void aumento(double quantidade){
		if(estaNaEmpresa){
			double salarioNovo = this.salario + quantidade;
			this.salario = salarioNovo;
			System.out.println("agora este funcionario passa a ganhar R$"+salario);
		}else{
			System.out.println("desculpe-me!!! este funcionario não trabalha mais aqui...");
		}
	}

}

mas o interessante e que eu pois 1500 reais de salario para o funcionario na hora de testar a class

class testeFuncionario{
	public static void main(String[] args){
		funcionario f1 = new funcionario();

		f1.nome = "Fabio";
		f1.salario = 1500;
		f1.aumento(100);
		f1.ganhoAnual();
		f1.status();
	}
}

mesmo assim esta falando que eu estou demitido!!!
e nao recebo aumento tbm ““pois programei para nao dar aumento caso o funcionario tenha sido demitido neh!!!””

  1. Apague a variável boolean da linha 7, ela que está causando a confusão;
  2. Na linha 39, corrija seu if para usar a função:
if (estaNaEmpresa()) {
  1. Não é necessário, mas um if assim:

if(salario > 0){ return true; }else{ return false; }

É inútil. Lembre-se que o retorno da expressão salario > 0 já é um boolean.
Então, o ideal é você retonar a expressão do if direto:

boolean estaNaEmpresa(){ return salario > 0; }

muito obrigado,

fiz as suas correções e meu codigo funcionou perfeitamente!!!

aah gostei da ideia de nao usar o if para este tipo de boolean…
vlw ate +