Else if

E ai galera, to com um probleminha no if aqui e não to conseguindo vê o erro D=

[code]package Herança;

public class fazenda
{

public int[] pai = new int [4];
public int[] filho = new int [4];
public int n=0;
   
    fazenda()
    {
      
        System.out.println("\n Herança da fazenda"); 

        
            if(n <1)
            {
                 System.out.println("\n Pai");
            }
            else if(n <2)
            {
                System.out.println("\n Filho"); 
            }
       

    }

}[/code]

[code]package Herança;

public class pai extends fazenda
{
pai()
{

        System.out.print("Digite a quantidade de vaca do Pai : ");
        pai[0] = IO.readInt();
        System.out.print("Digite a quantidade de boi do Pai : ");
        pai[1] = IO.readInt();
        System.out.print("Digite a quantidade de gado do Pai : ");
        pai[2] = IO.readInt();
        System.out.print("Digite a quantidade de galinha do Pai : ");
        pai[3] = IO.readInt();
        
    }
    
    public int conta ()
    {
        n++;
        return n;
    }

}[/code]

[code]package Herança;

public class filho extends fazenda
{
filho()
{

        System.out.print("Digite a quantidade de vaca do Filho : ");
        this.filho[0] = IO.readInt();
        System.out.print("Digite a quantidade de boi do Filho : ");
        this.filho[1] = IO.readInt();
        System.out.print("Digite a quantidade de gado do Filho : ");
        this.filho[2] = IO.readInt();
        System.out.print("Digite a quantidade de galinha do Filho : ");
        this.filho[3] = IO.readInt();
  
    }   
    
    public int conta ()
    {
        n++;
        return n;
    }

}[/code]

Como n=0; ele entra a primeira no if “pai”
faz toda a classe pai e volta na classe fazenda
ai não conta n + 1 e entra no if “pai” de novo
e faz toda a classe filho e entra no main

Aonde to errando? D=

Tenta assim

public void conta (int n)  
        {  
            n++;  
        }  

e dai passa o n como parametro