Java 入社試験問題
問1 オブジェクトの持つ2つの要素である属性と操作をJavaの言葉で表すと、何といいますか。
(a)属性 (b)操作
問2 オブジェクトの持つ属性を、操作を用いて変更することを何といいますか。
(a)データ隠蔽 (b)インスタンス化 (c)カプセル化 (d)static (e)ローカル変数
問3 属性を外部から変更できないように完全に遮断したオブジェクトを作ることを、何といいますか。
(a)データ隠蔽 (b)インスタンス化 (c)カプセル化 (d)static (e)テンプレート
問4 クラスはオブジェクトの持つ2つの要素を何として定義したものですか。
(a)データ隠蔽 (b)インスタンス化 (c)カプセル化 (d)static (e)テンプレート
問5 クラスをもとにオブジェクトを作り出すことを、何といいますか。
(a)データ隠蔽 (b)インスタンス化 (c)カプセル化 (d)static (e)テンプレート
問6 クラス宣言とメソッド定義の間に定義した変数は何変数といいますか。
(a)メソッド (b)メンバ (c)グローバル (d)ローカル (e)static
問7 前問の変数はどの範囲で有効ですか。
問8 メソッド定義の中で定義した変数は何変数といいますか。
(a)メソッド (b)メンバ (c)グローバル (d)ローカル (e)static
問9 前問の変数はどの範囲で有効ですか。
問10 オブジェクトを生成するキーワードは何ですか。
問11 オブジェクトの参照を変数から切り離すキーワードは何ですか。
問12 ほかのメンバからstaticメンバにアクセスするにはどのように操作しますか。
問13 ほかのメンバからインスタンスメンバにアクセスするにはどのように操作しますか。
問14 次のプログラムを実行するとどうなりますか。次の①-⑤から選びましょう。

public class MyClass01{
        int i = 10;                    //①
        public static void main( String[] args ) {
            System.out.println( "i=" + i );
        }
     }
     ①「i=10」と表示    ②「i=0」と表示  ③その他の数値を表示
     ④ コンパイルエラー  ⑤ 実行時エラー

問15 前問のプログラムで「i=10」と表示させるには、「int i = 10;//①」のコードをどのよう に変更しますか。(a)-(d)から選びましょう。
(a) i = 10; (b) int i = 10; (c) static int i = 10; (d) 表示できない
問16 次のプログラムで「i=20」と表示させるには、①の行にどのようなコードを記述します か。(a)-(d)から選びましょう(複数選択可)

public class MyClass02{
        static int i = 10;
        public static void main( String[] args ) {
            //①
            System.out.println( "i=" + i );
        }
     }
     (a) i = 20; (b) int i = 20; (c) static int i = 20; (d) 表示できない

問17 次のプログラムを実行するとどうなりますか。次の①-⑤ から選びましょう。

public class MyClass03 {
        int i = 10;
        void method01() {
            System.out.println( "i=" + i );
        }
        public static void main( String[] args ) {
            method01();
        }
     }
     ①「i=10」と表示 ②「i=0」と表示 ③何も表示しない ④ コンパイルエラー
     ⑤ 実行時エラー

問18 前問でmethod01を呼び出すには、main メソッドのコードをどのように記述しますか。(複数選択可)

①i = method01();
②method01(int i);
③obj = new MyClass03 (); obj.method01();
④MyClass03.method01();

問19 次のプログラムを実行するとどうなりますか。次の①-⑥から選びましょう。

     public class MyClass04 {
        int i = 10;
        void method01() {
            System.out.println( "i=" + i++);
            method02();
        }
        void method02() {
            System.out.println( "i=" + i++ );
        }
        public static void main( String[] args ) {
            MyClass04 obj = new MyClass04();
            obj.method01();
            System.out.println( "i=" + obj.i++ );
        }
     }
     ①「i=10」と表示 ②「i=10」「i=11」「i=12」と表示 ③
      「i=11」「i=12」「i=13」と表示
     ④何も表示しない ⑤コンパイルエラー ⑥実行時エラー

問20 次のプログラムを実行するとどのように表示されますか。

     class MyClass05b {
        void method02() {
            MyClass05 obj = new MyClass05();
            System.out.println( "method02 i=" + obj.i++ );
            obj.method01();
        }
     }
     public class MyClass05 {
        static int i = 20;
        void method01() {
            System.out.println( "method01 i=" + i++ );
        }
        public static void main( String[] args ){
            MyClass05 obj = new MyClass05 ();
            obj.method01();
            MyClass05b obj2 = new MyClass05b();
            obj2.method02();
            System.out.println( "main i=" + obj.i++ );
        }
     }