提问人:zabbir 提问时间:11/5/2023 最后编辑:user207421zabbir 更新时间:11/5/2023 访问量:47
Java:静态检查两对类是否实现了某个函数 [closed]
Java: Statically check that two pair of classes implement a certain function [closed]
问:
假设我有两个抽象类和 .有没有办法确保( extends , extends )的每个组合都有一定的定义?我想确保代码不会编译,如果即使有两个子项的一个组合没有提供 .A1
A2
C1
A1
C2
A2
operation()
operation()
答:
0赞
Juan C Nuno
11/5/2023
#1
定义 HasOperation 接口
interface HasOperation {
void operation();
}
让 A1 和 A2 实现 HasOperation 接口,但不实现操作方法
abstract class A1 implements HasOperation {
}
等
A1 和 A2 的每个具体(非抽象)子类都需要实现操作方法
1赞
Reilas
11/5/2023
#2
"...有没有办法确保(C1 扩展
A1,C2
扩展A2
)的每个组合都定义了
某个
operation()
?..."
将操作方法标记为抽象,或使用接口。
"...我想确保代码不会编译,如果即使有两个子项的组合没有提供
operation()
的实现。..."
这将导致 A1 或 A2 的任何子类都需要实现操作。
abstract class A {
abstract void operation();
}
abstract class A1 extends A { }
abstract class A2 extends A { }
class C1 extends A1 {
@Override
public void operation() {
}
}
class C2 extends A2 {
@Override
public void operation() {
}
}
评论
A1,C2
扩展A2
)的每个组合”是什么意思?请更明确,并提供您要完成的任务的真实代码示例。
IO
Question
validate()
Question
MultipleChoice
Essay
Console
validate()
Essay
Console
MultipleChoice
Console
(Essay, Console)