• ログインログイン
  • 新規登録新規登録

MENU

Javaの基礎知識をチェック!Javaの理解度テスト(2)

連載基礎力チェック!プログラミングテスト一覧

プログラミングスキルの基礎力をチェック!各領域における基礎力をチェックするためのテスト集です。知っていると思っていても、やってみると意外と間違えてしまうことが多いかも!?

本教材は株式会社フルネス様からのご提供になります。プログラミング学習コラム「Java」についての2回目のテストです。日々の勉強の成果がどれだけ反映されるか試してみましょう。

問 1  次のようなクラスやインタフェースが定義してあります。これらを拡張したクラスやインタフェースの宣言として正しいもの(コンパイルできるもの)を2つ選んでください。

class Super1{ }
class Super2{ }
interface IF1{ }
interface IF2{ }
  1. class Sub extends Super1, Super2{ }
  2. class Sub implements IF2 extends Super1{ }
  3. class Sub extends IF1{ }
  4. class Sub extends Super1 implements IF1, IF2{ }
  5. interface IF3 extends IF1, IF2{ }
  6. interface IF3 implements IF1, IF2{ }

解答をみる

解答 4,5

問 2  次のプログラムをコンパイルし実行した結果として、正しいものを1つ選んでください。

■Sample.java

interface IF{
    void show();
}
class X implements IF{
    void show(){
        System.out.print("X");
    }
}
class Y extends X{
    public void show(){
        System.out.print("Y");
    }
}
class Sample{
    public static void main(String[] args){
        IF obj = new Y();
        obj.show();
    }
}
  1. 2行目でコンパイルエラーになる。
  2. 4行目でコンパイルエラーになる。
  3. 5行目でコンパイルエラーになる。
  4. 16行目でコンパイルエラーになる。
  5. 17行目でコンパイルエラーになる。
  6. 「X」が表示される。
  7. 「Y」が表示される。

解答をみる

解答 3

問 3  次のプログラムをコンパイルし実行した結果として、正しいものを1つ選んでください。

■Sample.java

interface Radius{
    int R = 10;
}
interface Constant{
    double PI = 3.14;
}
class Sample implements Constant{

    public static void main(String[] args){

        System.out.println(Radius.R * Radius.R * PI);

    }
}
  1. 2行目でコンパイルエラーになる。
  2. 5行目でコンパイルエラーになる。
  3. 7行目でコンパイルエラーになる。
  4. 11行目でコンパイルエラーになる。
  5. 「314」が表示される。
  6. 「314.0」が表示される。

解答をみる

解答 6

 問 4  次のプログラムをコンパイルし実行した結果として、正しいものを1つ選んでください。

■Sample.java

interface IF{
    void show();
}
abstract class Super implements IF{
    protected void show(int i){
        System.out.print("X");
    }
}
class Sub extends Super{
    public void show(){
        show(10);
        System.out.print("Y");
    }
}
class Sample{
    public static void main(String[] args){
        IF obj = new Sub();
        obj.show();
    }
}
  1. 4行目でコンパイルエラーになる。
  2. 5行目でコンパイルエラーになる。
  3. 11行目でコンパイルエラーになる。
  4. 17行目でコンパイルエラーになる。
  5. 18行目でコンパイルエラーになる。
  6. 「X」が表示される。
  7. 「XY」が表示される。

解答をみる

解答 7

 問 5  次のプログラムをコンパイルし実行した結果として、正しいものを1つ選んでください。

■Sample.java

interface IFA {
    void showA();
}
interface IFB {
    void showB();
}
class Test implements IFA, IFB{
    public void showA(){
        System.out.print("X");
    }
    public void showB(){
        System.out.print("Z");
    }
}
public class Sample{
    public static void main(String[] args){

        Test t = new Test();
        IFA ifa = t;
        ifa.showA();
        ifa.showB(); 
    }
}
  1. 19行目でコンパイルエラーになる。
  2. 20行目でコンパイルエラーになる。
  3. 21行目でコンパイルエラーになる。
  4. 19行目で例外がスローされる。
  5. 20行目で例外がスローされる。
  6. 21行目で例外がスローされる。
  7. 「XZ」が表示される。

解答をみる

解答 3

問 6  次のプログラムをコンパイルし実行した結果として、正しいものを1つ選んでください。

■Sample.java

interface IF{ }
class Super{ }
class Sub extends Super implements IF{ }

public final class Sample{

    public static void main(String[] args){

        Sub w = new Sub();
        Super x = (Super)w;
        IF y = (IF)x;
        Sample z = (Sample)y;
    }
}
  1. 10行目でコンパイルエラーになる。
  2. 11行目でコンパイルエラーになる。
  3. 12行目でコンパイルエラーになる。
  4. 10行目で例外がスローされる。
  5. 11行目で例外がスローされる。
  6. 12行目で例外がスローされる。
  7. 正しくコンパイル・実行できる。

解答をみる

解答 3

問 7  次のプログラムをコンパイルし実行した結果として、正しいものを1つ選んでください。

■Sample.java

interface IF{ }

class Super implements IF{ }

class Sub extends Super{

   public IF test(){
        return new Super();
    }
}
public class Sample extends Sub{

    public static void main(String[] args){
        new Sub().test();
    }
    public Sub test(){
        return (Sub)new Super();
    }
}
  1. 8行目でコンパイルエラーになる。
  2. 14行目でコンパイルエラーになる。
  3. 16行目でコンパイルエラーになる。
  4. 17行目でコンパイルエラーになる。
  5. 8行目で例外がスローされる。
  6. 17行目で例外がスローされる。
  7. 正しくコンパイル・実行できる。

解答をみる

解答 7

問 8  次のプログラムをコンパイルし実行した結果として、正しいものを1つ選んでください。

■Sample.java

abstract interface IF{
    void test();
}
class X implements IF{
    public void test(){
        System.out.print("X");
    }
}
class Y extends X implements IF{ }
class Z extends Y{
    public void test(){
        System.out.print("Z");
    }
}
class Sample{
    public static void main(String[] args){
        IF obj = new Z();
        obj.test();
    }
}
  1. 1行目でコンパイルエラーになる。
  2. 9行目でコンパイルエラーになる。
  3. 17行目でコンパイルエラーになる。
  4. 18行目でコンパイルエラーになる。
  5. 「X」が表示される。
  6. 「Z」が表示される。

解答をみる

解答 6

問 9  次のプログラムをコンパイルし実行した結果として、正しいものを1つ選んでください。

■Sample.java

interface IF1{
    void test();
}
interface IF2{
    void test();
}
class Test implements IF1{
    public void test(){
        System.out.print("OK");
    }
}
class Sample{
    public static void main(String[] args){
        IF1 if1 = new Test();
        if1.test();
        IF2 if2 = (IF2)if1;
        if2.test();
    }
}
  1. 15行目でコンパイルエラーになる。
  2. 16行目でコンパイルエラーになる。
  3. 17行目でコンパイルエラーになる。
  4. 15行目で例外がスローされる。
  5. 16行目で例外がスローされる。
  6. 17行目で例外がスローされる。

解答をみる

解答 5

問 10 次のプログラムはコンパイルエラーになります。コンパイルエラーが発生する行として、正しいものを1つ選んでください。

■Sample.java

interface IFA{ }
interface IFB extends IFA{ }
interface IFC extends IFA{ void test(); }
interface IFD extends IFB, IFC{ }
public class Sample implements IFD{
    public void test(){ }
    public static void main(String... args){
        IFD x = new Sample();
        x.test();
        IFC y = x;
        y.test();
        IFB z = (IFB)y;
        z.test();
    }
}
  1. 8行目
  2. 9行目
  3. 10行目
  4. 11行目
  5. 12行目
  6. 13行目

解答をみる

解答 6

 

オススメ記事一覧

もっと見る
完全無料!

1で登録完了!

エンジニアの仕事・年収や選考ノウハウ記事が読めるほか、
会員にはプログラミング講習やES・面接対策などリアルな無料サポートも充実。
ここだけの求人情報も多数。

今すぐ新規会員登録
Page Top