有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java从子类调用非抽象方法

建议将文件类对象传递给playClip(),该对象引用动物声音文件,并捕获任何异常,如果捕获到任何异常,则输出“喵”。当我运行Main函数时,我听到扬声器中有猫的声音

我是否以正确的方式传递了对playClip()的文件对象引用

public void makeSound() {
  try {
    playClip(new File("Cat.wav"));
  } catch (Exception e) {
    System.out.println("Meow");
  }
}

具有以下主要功能

public class Main {
  public static void main(String[] args) {
    Cat sound = new Cat();
    sound.makeSound();
  }
}

共 (1) 个答案

  1. # 1 楼答案

    在抽象类中,创建playClip方法:

    public abstract class Sound {
    
        abstract public void makeSound();
    
        public void playClip(File clipFile) {  
            // code plays a file and has some exception handling
        }
    }
    
    
        public class Cat extends Sound {
    
            public Cat() {
    
            super();
        }
    
        @Override
        public void makeSound() {
            playClip(new File("/sound_file"));
        }
    }
    

    当然,playClip()也可以是抽象的。这取决于你想要什么