本教材は株式会社フルネス様からのご提供になります。プログラミング学習コラム「Java」についての2回目のテストです。日々の勉強の成果がどれだけ反映されるか試してみましょう。
問 1 次のようなクラスやインタフェースが定義してあります。これらを拡張したクラスやインタフェースの宣言として正しいもの(コンパイルできるもの)を2つ選んでください。
class Super1{ } class Super2{ } interface IF1{ } interface IF2{ }
- class Sub extends Super1, Super2{ }
- class Sub implements IF2 extends Super1{ }
- class Sub extends IF1{ }
- class Sub extends Super1 implements IF1, IF2{ }
- interface IF3 extends IF1, IF2{ }
- 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(); } }
- 2行目でコンパイルエラーになる。
- 4行目でコンパイルエラーになる。
- 5行目でコンパイルエラーになる。
- 16行目でコンパイルエラーになる。
- 17行目でコンパイルエラーになる。
- 「X」が表示される。
- 「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); } }
- 2行目でコンパイルエラーになる。
- 5行目でコンパイルエラーになる。
- 7行目でコンパイルエラーになる。
- 11行目でコンパイルエラーになる。
- 「314」が表示される。
- 「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(); } }
- 4行目でコンパイルエラーになる。
- 5行目でコンパイルエラーになる。
- 11行目でコンパイルエラーになる。
- 17行目でコンパイルエラーになる。
- 18行目でコンパイルエラーになる。
- 「X」が表示される。
- 「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(); } }
- 19行目でコンパイルエラーになる。
- 20行目でコンパイルエラーになる。
- 21行目でコンパイルエラーになる。
- 19行目で例外がスローされる。
- 20行目で例外がスローされる。
- 21行目で例外がスローされる。
- 「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; } }
- 10行目でコンパイルエラーになる。
- 11行目でコンパイルエラーになる。
- 12行目でコンパイルエラーになる。
- 10行目で例外がスローされる。
- 11行目で例外がスローされる。
- 12行目で例外がスローされる。
- 正しくコンパイル・実行できる。
解答 | 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(); } }
- 8行目でコンパイルエラーになる。
- 14行目でコンパイルエラーになる。
- 16行目でコンパイルエラーになる。
- 17行目でコンパイルエラーになる。
- 8行目で例外がスローされる。
- 17行目で例外がスローされる。
- 正しくコンパイル・実行できる。
解答 | 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行目でコンパイルエラーになる。
- 9行目でコンパイルエラーになる。
- 17行目でコンパイルエラーになる。
- 18行目でコンパイルエラーになる。
- 「X」が表示される。
- 「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(); } }
- 15行目でコンパイルエラーになる。
- 16行目でコンパイルエラーになる。
- 17行目でコンパイルエラーになる。
- 15行目で例外がスローされる。
- 16行目で例外がスローされる。
- 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(); } }
- 8行目
- 9行目
- 10行目
- 11行目
- 12行目
- 13行目
解答 | 6 |
---|