Exercício de portas abertas apostila Caellum

Boa tarde pessoal,

Estou tentando fazer um exercício da apostila da caellum. Tenho o código abaixo e preciso contar as portas. Tentei colocar o método de contar as portas na classe Portas mas não sei se é o correto.

package programa2;
public class Programa2 {
    public static void main(String[] args) {
        Porta minhaPorta1;
        minhaPorta1 = new Porta();
        minhaPorta1.dimensaoX = 100;
        minhaPorta1.dimensaoY = 80;
        minhaPorta1.dimensaoZ = 30;
        minhaPorta1.cor = null;
        minhaPorta1.pinta("Verde");
        System.out.println("A porta é: " + minhaPorta1.cor + " e as dimensões são " + minhaPorta1.dimensaoX + ", " + minhaPorta1.dimensaoY + ", " + minhaPorta1.dimensaoZ + ".");
        minhaPorta1.abreFecha(1);
       
    Porta minhaPorta2;
    minhaPorta2 = new Porta();
    minhaPorta2.dimensaoX = 120;
    minhaPorta2.dimensaoY = 90;
    minhaPorta2.dimensaoZ = 40;
    minhaPorta2.cor = null;
    minhaPorta2.pinta("Azul");
    System.out.println("A porta é: " + minhaPorta2.cor + " e as dimensões são " + minhaPorta2.dimensaoX + ", " + minhaPorta2.dimensaoY + ", " + minhaPorta2.dimensaoZ + ".");
    minhaPorta2.abreFecha(2);
    
    Porta minhaPorta3;
    minhaPorta3 = new Porta();
    minhaPorta3.dimensaoX = 70;
    minhaPorta3.dimensaoY = 60;
    minhaPorta3.dimensaoZ = 10;
    minhaPorta3.cor = null;
    minhaPorta3.pinta("Amarela");
    System.out.println("A porta é: " + minhaPorta3.cor + " e as dimensões são " + minhaPorta3.dimensaoX + ", " + minhaPorta3.dimensaoY + ", " + minhaPorta3.dimensaoZ + ".");
    minhaPorta3.abreFecha(2);
}   
}

package programa2;
public class Porta {

boolean aberta;
String cor;
int dimensaoX, dimensaoY, dimensaoZ;

void abre() {
    this.aberta = true;
}

void fecha() {
    this.aberta = false;
}

void pinta(String novaCor) {
    this.cor = novaCor;
}

void abreFecha(int respUsuario) {
    switch (respUsuario) {
        case 1:
            abre();
            System.out.println("A porta está aberta.\n");
        break;
        case 2:
            abre();
            System.out.println("A porta está fechada.\n");
        break;
    }
} 
}

Cara,
A classe Porta que você enviou não tem nenhum método para contar o número de portas, mas você pode usar uma variável statica para guarda o número de portas criadas e essa variável vai ser atualizada a cada nova porta criada.

package programa2;

public class Porta {

boolean aberta;
String cor;
int dimensaoX, dimensaoY, dimensaoZ;
static int nPortas = 0;

public Porta(){
   nPortas++;
}

 void abre() {
    this.aberta = true;
}

void fecha() {
    this.aberta = false;
}

void pinta(String novaCor) {
    this.cor = novaCor;
}

void abreFecha(int respUsuario) {
    switch (respUsuario) {
        case 1:
            abre();
            System.out.println("A porta está aberta.\n");
        break;
        case 2:
            abre();
            System.out.println("A porta está fechada.\n");
        break;
    }
} 
}