2 回答

TA贡献1780条经验 获得超1个赞
如果它不在接口中,并且您将引用存储在接口类型的变量中,那么编译器如何知道该方法存在?
一般来说,分配给变量的值可以是 的任何实现BowlingGame。除非该方法位于接口上,否则不需要这些类实现该方法。
为了避免将方法添加到接口中,请将变量类型更改为DiusBowlingGame,或在方法中使用局部变量setUp:
DiusBowlingGame bowlingGame = new DiusBowlingGame();
bowlingGame.startGame();
this.bowlingGame = bowlingGame;

TA贡献1757条经验 获得超8个赞
据我所知,接口在 C# 和 Java 中的工作方式是相同的。唯一的区别是,在 C# 中,通常以“I”开头来命名接口,并且在 C# 中,类和接口都使用运算符,而在:Java 中,关键字implements用于接口,关键字extends用于类。您的代码不需要接口,它也可以这样完美地工作:
package com.dius.bowling;
class DiusBowlingGameTest {
private DiusBowlingGame bowlingGame;
@BeforeEach
void setUp() {
this.bowlingGame = new DiusBowlingGame();
this.bowlingGame.startGame();
}
添加回答
举报