練習問題

2.7 練習問題

 本章で習った内容を元に練習問題を解いて下さい。

問1 次の設問①~⑤について○か×で答えなさい。

設問
① 抽象クラスとインタフェースには抽象メソッドが定義できる。
② 抽象クラスもインタフェースもオブジェクト化できる。
③ 抽象メソッドは処理内容のない定義だけのメソッドなので、サブクラスで必ずオーバーライドする必要はない。
④ 抽象クラスは多重継承が可能で、インタフェースは多重継承は禁止されている。
⑤ インタフェースも他のインタフェースを拡張して、新しいインタフェースを定義することができる。

問2 以下のソースコードについて説明をした設問①~⑤について○か×で答えなさい。

設問
① インタフェースAはクラスCを継承している。
② インタフェースA、B、Cは抽象メソッドを定義している。
③ クラスZはクラスYを継承したサブクラスである。
④ クラスZにインタフェースAとBを実装している。
⑤ 抽象クラスYは普通のメソッドを定義しているためコンパイルエラーになる。

ソースコード

1interface A extends C {
2void a();
3}
4 
5interface B {
6String b();
7}
8 
9interface C {
10void c();
11}
12 
13class Z extends Y implements A,B {
14
15}
16 
17abstract class Y {
18String x(){
19
20}
21abstract void y();
22}

問3 問2のソースコードに記述されていたclass Zが実装しないといけない、抽象メソッドの組み合わせを選択肢①~⑤より選んで答えなさい。

設問
選択肢
 ① a、b、c、x、y
 ② a、b、x
 ③ a、b、y
 ④ a、b、c、y
 ⑤ a、b

問4 以下に示すインタフェースを実装したクラスで、オーバーライドするメソッド定義の空欄①~④を答えなさい。

ソースコード

① ソース・フォルダー      :myproj_basic/src
② パッケージ          :jp.co.f1.basic.ch12exercise
③ 名前             :ISample

➢ ISample.java ※インタフェース
1package jp.co.f1.basic.ch12exercise;
2 
3public interface ISample {
4    void show();
5 
6    String msg(int num);
7 
8    void data(int num, String name);
9 
10    int sum(int[] nums);
11}

① ソース・フォルダー      :myproj_basic/src
② パッケージ          :jp.co.f1.basic.ch12exercise
③ 名前             :Practice1201

➢ Practice1201.java ※インタフェースISampleを実装したPractice1201クラス
 ※メソッドの処理内容は省略しています。


NEXT>> 2.8 練習問題 解答

f