扩展接口
Extending an interface
我下载了一个代码,其函数开头如下:
public class MDP<S, A extends Action> implements MarkovDecisionProcess<S, A> {
//some code...blah blah blah...
}
S
和 A
应该是某种 type
。 Action
是一个 interface
。
在我的代码中,我想使用给定的 class MDP
。因此,我不得不定义 S
和 A
;我定义 S
是某个 class,但我不知道如何定义 A
... 它不是 class 也不是界面。它应该是什么?
谢谢:)
"A" 类型将是 class 实现扩展 Action 的接口。
为您的代码
public class MDP<S, A extends Action> implements MarkovDecisionProcess<S, A> {
//some code...blah blah blah...
}
S
和 A
是类型。它们可以引用接口或 Class。字母名称是任意的。它们可以是任何字母。这同样有效
public class MDP<Q, Z extends Action> implements MarkovDecisionProcess<Q, Z> {
//some code...blah blah blah...
}
它说的是,"class MDP
is a parameterized class, having the parameters S
and A
where A
is some subclass of Action
, and it implements the interface MarkovDecisionProcess<S,A>
. S
and A
may or may not be of the same type."
当你给class类型参数时,你可以缩小类型的特殊性。在这种情况下,S
保持不变(在特异性方面)但您将第二个参数缩小到 Action
的某个实例。
可以在接口声明中包含这些类型。然后他们可以离开实例。
public interface MarkovDecisionProcess<S,V extends Action>{}
public class MDP implements MarkovDecisionProcess{}
您可能会从阅读一些 official documentation.
中获益
关于 MDP 文档 "Action" 是一个接口:
public interface Action
Describes an Action that can or has been taken by an Agent via one of its Actuators.
我下载了一个代码,其函数开头如下:
public class MDP<S, A extends Action> implements MarkovDecisionProcess<S, A> {
//some code...blah blah blah...
}
S
和 A
应该是某种 type
。 Action
是一个 interface
。
在我的代码中,我想使用给定的 class MDP
。因此,我不得不定义 S
和 A
;我定义 S
是某个 class,但我不知道如何定义 A
... 它不是 class 也不是界面。它应该是什么?
谢谢:)
"A" 类型将是 class 实现扩展 Action 的接口。
为您的代码
public class MDP<S, A extends Action> implements MarkovDecisionProcess<S, A> {
//some code...blah blah blah...
}
S
和 A
是类型。它们可以引用接口或 Class。字母名称是任意的。它们可以是任何字母。这同样有效
public class MDP<Q, Z extends Action> implements MarkovDecisionProcess<Q, Z> {
//some code...blah blah blah...
}
它说的是,"class MDP
is a parameterized class, having the parameters S
and A
where A
is some subclass of Action
, and it implements the interface MarkovDecisionProcess<S,A>
. S
and A
may or may not be of the same type."
当你给class类型参数时,你可以缩小类型的特殊性。在这种情况下,S
保持不变(在特异性方面)但您将第二个参数缩小到 Action
的某个实例。
可以在接口声明中包含这些类型。然后他们可以离开实例。
public interface MarkovDecisionProcess<S,V extends Action>{}
public class MDP implements MarkovDecisionProcess{}
您可能会从阅读一些 official documentation.
中获益关于 MDP 文档 "Action" 是一个接口:
public interface Action
Describes an Action that can or has been taken by an Agent via one of its Actuators.