没有主体的方法称为抽象方法。它仅包含带有半冒号和前面的抽象关键字的方法签名。public abstract myMethod();
是的,您可以从抽象类中抛出异常。
示例
在以下Java程序中,我们有两个类:一个名称为MyClass的抽象类,它具有一个抽象方法(display()),另一个是扩展该抽象类的类。
在这里,display()方法抽象类抛出IOException。
示例import java.io.IOException;
abstract class MyClass {
public abstract void display() throws IOException;
}
public class AbstractClassExample extends MyClass{
public void display() throws IOException {
System.out.println("This is the subclass implementation of the display method");
}
public static void main(String args[]) {
try {
new AbstractClassExample().display();
}
catch (IOException e) {
e.printStackTrace();
}
}
}
输出结果This is the subclass implementation of the display method
从子类覆盖抽象方法时,您需要遵循以下规则-如果超类中的抽象方法抛出某些异常。实现的方法可以引发相同的异常。
如果超类中的抽象方法抛出某些异常。实现的方法可以选择不引发任何异常。
如果超类中的抽象方法抛出某些异常。实现的方法可以抛出其子类型
如果超类中的抽象方法抛出某些异常。实现的方法不应抛出其超级类型。