本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

平成20年度 技術士第一次試験問題【専門科目】

W−3

次のJavaプログラムにおいて、(ア)、(イ)、(ウ) の文が文法誤りであるかどうかについて、最も適切なものを@〜Dの中から選べ。

 abstract class A {
  public int y = 2;
  private int x = 1;
  public int p() {
   return y;
  }
 }

 interface B {
  int z;           ・・・(ア)
  public void q();
 }

 Class X extends A implements B {
  public int p() {
   A a = new A() ;     ・・・(イ)
   return x+1;       ・・・(ウ)
  }
  public void q () {
  }
 }

@ (ア)、(イ)、(ウ) いずれも文法誤りではない。

A (ア)、(イ) は文法誤りではないが、(ウ) は文法誤りである。

B (ア) は文法誤りであるが、(イ)、(ウ) は文法誤りではない。

C (ア) は文法誤りではないが、(イ)、(ウ) は文法誤りである。

D (ア)、(イ)、(ウ) いずれも文法誤りである。


正解

D


解説

(ア) インターフェイス内では、メンバーとして定数と抽象メソッドのみ定義できる。
int z は変数扱いであるため文法誤りである。

(イ) クラスAを継承したクラスXで、またクラスAを作成しているため文法誤りである。

(ウ) return x+1; には問題はないが、x が class A の private変数であるため、文法誤りである。

W−2 目次 W−4