|
0
|
| Melad Basilius · 技术社区 · 8 年前 |
|
|
1
9
在Java中调用静态方法需要指定确切的类型。不可能以多态方式调用静态方法,从而消除对
请注意,这种方法并不适用于所有语言:例如,您可以覆盖 类方法 在Objective-C和Apple的cocoa框架中,它们很好地利用这种机制来定制它们的“factory”类。然而,在爪哇中,C++和C类类方法不支持多态行为。
理论上,Java设计人员可以让您通过
Java编译器本可以为您做同样的事情,但看到一个静态方法实现一个实例方法既不寻常又令人困惑,所以我猜Java设计师决定不提供这种“魔法”。 |
|
2
1
静态方法不能受制于多态行为。这没有多大意义。想象一下这个用例,假设你想要的是可能的:
现在,我想用
现在在里面
我的观点是,在大多数多态性用例中,您仍然需要创建一个对象,因为在原始接口中,该方法是一个实例方法。 |
|
|
3
0
因为实现接口使实现者 类型 界面的一部分。这意味着 实例 需要让方法由类型定义,而不是由实例的类定义。 换句话说,
和
不是相同的方法声明。它们完全不同。如果
|
|
|
4
0
答案归结为实现接口意味着什么。当一个类实现一个接口时,这意味着该类的每个实例都将响应接口中的每个方法。当您将该方法实现为静态时,就可以调用该方法 没有 类的一个实例——但这并没有实现继承实现的承诺,即该方法可以在类的每个实例上调用。 |
|
|
Keithers · 如何单击网格窗格单元格并使其执行操作? 8 年前 |
|
|
vamsi · 如何为以下代码编写java 8流代码? 8 年前 |
|
|
Keithers · 如何使用场景生成器使VBOX中的栅格保持静态? 8 年前 |
|
|
en Peris · Java8列表。调用void函数 8 年前 |