相关疑难解决方法(0)

我们应该@Override接口的方法实现吗?

是否应该使用实现接口方法的方法进行注释@Override

注释javadocOverride说:

指示方法声明旨在覆盖超类中的方法声明.如果使用此批注类型注释方法但不覆盖超类方法,则编译器需要生成错误消息.

我不认为接口在技术上是超类.或者是吗?

Question Elaboration

java oop annotations interface

414
推荐指数
7
解决办法
15万
查看次数

Java抛出的抽象类

如果我有一个具有以下功能的抽象类 -

abstract class A{
    void foo(String s) throws Exception{
        throw new Exception("exception!");
    }
}
Run Code Online (Sandbox Code Playgroud)

然后是另一个扩展抽象类并实现其自己的foo版本的类 -

class B extends A{
    void foo(String s){
        //do stuff that does *not* throw an exception
    }
}
Run Code Online (Sandbox Code Playgroud)

这会产生问题吗?具体在以下测试案例中 -

Collection<A> col = new Collection<A>();
B b = new B();
col.add(b);
for(A a : col){
    a.foo();
}
Run Code Online (Sandbox Code Playgroud)

我做了一些测试,似乎没有什么破坏,但我不明白为什么B的foo被调用而不是A的

java exception abstract throw

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×2

abstract ×1

annotations ×1

exception ×1

interface ×1

oop ×1

throw ×1