Como faço para comparar um atributo dentro de um objeto que está dentro de um vetor?

Olá pessoal tudo bem?
então, tenho uma duvida em uma questão em java, como faço para comparar um atributo que está dentro de um objeto e este objeto se encontra em um vetor?

na problematica eu tenho que desenvolver uma classe motor com seus atributos, e logo apos devo criar um método ligar() e um método desligar() que alteram o atributo ligado
no método construtor se deve instanciar o atributo ligado para o valor false

depois da classe motor deve ser feita a classe MotorDemo para testar a classe motor e fazer as seguintes operações: criar um vetor com 5 objeto da classe motor
ligar 3 motores a sua escolha
e percorrer o vetor de motores e informar as potências dos motores que estiverem desligado

porem quando rodo o codigo, é mostrado tudo para mim

Github:

Motor.java:
public class Motor
{

    String nome;
    double potencia;
    boolean ligado;            
    
    public Motor(String nome, double pontencia, boolean ligado) {
        this.nome = nome;
        this.potencia = pontencia;
        this.ligado = ligado;
        ligado=false;
    }
    
    public String getNome()
    {
        
        return nome;
        
    }
    
    public void setNome(String nome)
    {
        
        this.nome = nome;
        
    }
    
    public double getPotencia()
    {
        
        return potencia;
        
    }        
    
    public void setPotencia(double pontencia)
    {
        
        this.potencia = potencia;
        
    }
    
    public boolean getLigado()
    {
        
        return ligado;
        
    }
    
    public boolean setLigado(boolean ligado)
    {
        
        return this.ligado = ligado;
        
    }        
    
    public boolean Ligar()
    {
        
        return this.ligado = true;
        
    }
    
    public boolean Desligar()
    {
        
        return this.ligado=false;
        
    }
    
    public void mostrar()
    {
        
        System.out.println("|O modelo do motor é: " +nome+ "| a potencia do motor é: " +potencia+ "| e o estado do motor é: " +ligado);
        
    }        
}

MotorDemo.java
public class MotorDemo
{

    public static void main(String[] args) 
    {
        Motor m[] = new Motor[5];
        
        m[0] = new Motor("BMW",2.0,true);
        m[1] = new Motor("AUDI",2.0,true);
        m[2] = new Motor("FIAT",1.3,true);
        m[3] = new Motor("CITROEN",1.6,false);
        m[4] = new Motor("TOYOTA",2.0,false);
            
            for(Motor mot1:m)
            {
                
                if(mot1.equals(mot1))
                {
                    
                    mot1.mostrar();
                    
                }    
                
            }    
    }
    
}

Esse if é sempre true. São o mesmo objeto…

Se você quiser comparar o modelo e mostrar os desligados:

for (Motor motor : m) { //poderia chamar esse m de motores, né?
    if (motor.getNome().equals("FIAT")) {
        motor.ligar();
    }
    if (!motor.getLigado()) {//a convenção é usar o prefixo is em booleans, ex.: isLigado()
        motor.mostrar();//mostrando os desligados
    }
}

no é pra percorrer o vetor e informar a potencia dos motores que estiverem desligados

Obrigado amigo, ajudou mto!