Given:
abstract class X {
public abstract void methodX();
}
interface Y {
public void methodY();
}
Which two code fragments are valid?
A.
class Z extends X implements Y{
public void methodZ(){}
}
B.
abstract class Z extends X implements Y{
public void methodZ(){}
}
C.
class Z extends X implements Y{
public void methodX(){}
}
D.
abstract class Z extends X implements Y{
}
E.
class Z extends X implements Y{
public void methodY(){}
}
題解
X是抽象類別,Y是介面,要成功建立Z這個類別去繼承X與實作Y。如果Z並不是抽象類別的話,必須實作出X的抽象方法以及Y定義的方法介面,因此選項A、C、E都不行。如果Z是抽象類別,就能允許沒有實作出程式區塊的方法。