DEV Community

TANIAOKA, Akihiro
TANIAOKA, Akihiro

Posted on

7章3

正解A,E

A: インタフェースで定義されるメソッドは、暗黙的に public であり、これを省略しても自動的に public として扱われます。

E: 抽象クラスはインタフェースを実装することができますが、そのすべてのメソッドを実装する必要はありません。抽象クラスは、一部または全てのメソッドを抽象メソッドとして残すことができ、それらはサブクラスで実装される必要があります。これは、インタフェースが完全な実装を強制しない、柔軟な方法を提供するためです。

それぞれの選択肢がなぜ誤っているかを説明します。

B: フィールドは一切定義できない

この選択肢は誤っています。Javaのインターフェースではフィールドを定義することができますが、これらのフィールドは暗黙的に public, static, final となります。つまり、インターフェースにおけるフィールドは定数として扱われます。

C: クラスは複数のインターフェースを同時に実現できない

この選択肢も誤りです。Javaでは、1つのクラスは複数のインターフェースを実装することができます。この特性を利用することで、Javaは単一継承の制約を持ちながらも、複数のインターフェースを通じて多重継承のような振る舞いを模倣することが可能になります。

D: インターフェースを継承することはできない

この選択肢は不正確です。Javaのインターフェースは他のインターフェースを継承することが可能です。このとき、extends キーワードを使用します。これにより、1つのインターフェースは他のインターフェースの全ての抽象メソッドを継承することができます。

Top comments (0)