Controle remoto em Java nã roda

Olá, sou nova em programação e seguindo algumas videos aulas desenvolvi um codigo de um contrle igual ao da aula, porém não roda, gostaria que se alguém pudesse ajudasse.

package controle;

public class ControleRemoto implements Controlador{
//ATRIBUTOS

private int volume;
private boolean ligado;
private boolean tocando;

//MÉTODOS ESPECIAIS - CONSTRUTOR

public ControleRemoto(){
    this.volume =50;
    this.ligado = false;
    this.tocando = false;
}

// getter e setter

public int getVolume() {
    return volume;
}

public void setVolume(int volume) {
    this.volume = volume;
}

public boolean getLigado() {
    return ligado;
}

public void setLigado(boolean ligado) {
    this.ligado = ligado;
}

public boolean getTocando() {
    return tocando;
}

public void setTocando(boolean tocando) {
    this.tocando = tocando;
}

//MÉTODOS ABSTRATOS

@Override
public void ligar() {
    this.setLigado(true);
}

@Override
public void desligar() {
    this.setLigado(false);
}

@Override
public void abrirMenu() {
    System.out.println("Está ligado? " +this.getLigado());
    System.out.println("Está tocando?" +this.getTocando());
    System.out.println("Volume: " + this.getVolume());
    for(int i = 0; i<=this.getVolume(); i+=10){
    System.out.print("|");
}
}

@Override
public void fecharMenu() {
    System.out.println("Fechando Menu...");
}

@Override
public void maisVolume() {
    if(this.getLigado()==true){
       this.setVolume(this.getVolume()+5);
        
    }
}

@Override
public void menosVolume() {
     if(this.getLigado()==true){
       this.setVolume(this.getVolume()-5);
     }       
}

@Override
public void ligarMudo() {
    if(this.getLigado()&& this.getVolume() >0){
        this.setVolume(0);
    }
}

@Override
public void desligarMudo() {
    if(this.getLigado( )&& this.getVolume()==0){
        this.setVolume(50);
    }
}

@Override
public void play() {
    if(this.getLigado() &&! (this.getTocando())){
         this.setTocando(true);
    }
        
}

@Override
public void pause() {
    if (this.getLigado() && this.getTocando()){
    this.setTocando(false);
}
}

}

Quando ponho pra rodar não gera resultados.

Posta aí a classe que tem a tua função main() { }

package controle;

public class Controle {

public static void main(String[] args) {
    ControleRemoto c = new ControleRemoto();
    c.ligar();
    c.maisVolume();
    c.abrirMenu();
    c.maisVolume();
    c.fecharMenu();

Parece que seu método Main está abrindo e fechando o menu assim que é executado.

Qual a mensagem de erro que aparece?

Tainara, bom dia. Testei teu código aqui (tirei só o “implements Controlador”) e ele funcionou.

Uma observação: quando chamar propriedades internas da classe, não use uma função interna para pegar seu valor, chame direto o valor.

Ao invés de

public void menosVolume() {
	if (this.getLigado() == true) {
		this.setVolume(this.getVolume() - 5);
	}
}

Faça

public void menosVolume() {
	if (this.ligado == true) {
		this.volume -= 5;
	}
}

Assim você faz menos operações. Em um código pequeno isso não faz diferença significativa, mas quando você estiver escrevendo códigos maiores, pode causar uma diferença enorme no desempenho do teu código.

PS: sabe fazer IF’s ternários?

Obrigada pela atenção, vou testar e te passo um retorno.