1

この記事の目次



1.  クラスの宣言


クラスとはオブジェクトの種類あるいは型に対応する概念です。

クラスは以下のように記述します。

  • 最も基本的なクラス定義:
  • アクセス修飾子 class クラス名 {
         // ここにフィールド、コンストラクタ、メソッドを書く
    }
  • 継承するクラス、実装するインターフェイスがあるクラスの定義:
  • 修飾子  class クラス名 extends スーパークラス implements インターフェイス {
         // ここにフィールド、コンストラクタ、メソッドを書く
    }
    例:クラスの宣言
    public class HelloWorld {
       
    }

    上の例ではクラスの中身を空っぽくしましたが、クラスの宣言はできています

  • アクセス修飾子:public(全てアクセス許可)
  • クラス名:HelloWorld
  • アクセス修飾子は「JAVAの変数、定数の定義、使い方」の記事で提供しましたが、以下のように再び記述します。

    アクセス修飾子 アクセス制限
    public どこからでもアクセス可能
    protected 同一パッケージ内のクラス、継承したクラスからのみ可能
    default 同一パッケージ内のクラスからのみ可能
    private そのクラスからのみ可能

    2.  クラスのメンバー


    クラスのメンバーはメソッド、フィールド、そしてコンストラクタで、定義の順番は決まりがありません。

     ●  メソッド

    オブジェクトが実行可能な処理のことをメソッドと言います。典型的なメソッドの定義は次のような形をとります。

    修飾子  戻り値の型  メソッド名(仮引数型  仮引数名、. . .){
        メソッドの本体
    }

    クラス定義の中にメソッドの定義が含まれていると、そのクラスのオブジェクトは全て、そのメソッドを内臓するようになります。

    メソッドの本体の中に、thisという特別な変数が宣言なしで使えます。この変数はそのメソッドを現在実行しているオブジェクトを表します。したがって、thisの型はそのメソッドが定義されているクラスです。

     メソッドとはについて詳しく見たい方:

    メソッドとは

    ../../../java/java-method-basic.html

    メソッドとは複数の文をまとめ、それを1つの処理として名前をつけたもので、部品の最小単位です。この記事ではJAVAのメソッドの概念、メリット、・・・

     ●  フィールド

    * フィールドの定義

    フィールドとはオブジェクトに固有の変数のようなものです。典型的なフィールドの定義は次のような形をとります。

    修飾子 型 フィールド名;
  • クラス定義の中にフィールドの定義が含まれていると、そのクラスのオブジェクトは全て、その名前のフィールドを内臓するようになります。
  • フィールドは局所変数の宣言文の先頭に修飾子をつけたような形になっており、初期値を指定することができます。
  • フィールドの初期値を何も指定しないと、0かnullが初期値になります。局所変数の宣言文の場合、初期値を何も指定しないと、値が未定義となるので、初期値を明示的に代入するまで、その変数は使えません。しかし、フィールドの場合、初期値を指定しなくても、適当な値(0かnull)が暗黙のうちに代入されますので、すぐに使えます
  • フィールドはオブジェクトごとに別々ですから、同盟のフィールドでもオブジェクトが異なれば、異なる値を代入できます。
  • * フィールドの呼び出し

    フィールドは式の中では変数のように使うことができます。式の中で変数名を書く部分に、代わりに次のように書くと、フィールドの値を得たり、新しい値を代入することができます。

    オブジェクト.フィールド名
  • メソッドの呼び出しに似ていますが、括弧で囲まれた実引数列が末尾につきません。
  • 「オブジェクト式」の部分の計算結果は参照型の値、すなわちオブジェクトでなければなりません。そのオブジェクトに内蔵されている「フィールド名」で指定されたフィールドが目的のフィールドとなります。
  • 例:フィールドの宣言と呼び出し
    class Me {
    	//フィールドの宣言
    	int age;	
    }
       
    public class Main {
        public static void main(String[] args) {
            Me me = new Me(); //オブジェクトを作成する
            me.age = 20;    //フィールドの値を変える
            int age0 = me.age; //フィールドの値をage0変数に代入する
            System.out.println("私の年齢は" + age0 + "です。");
        }
        
    }

    実行結果:
    私の年齢は20です。

    上の例のように、フィールドは変数と同様に使えますから、代入演算子で代入したり、計算したりすることができます。

     ●  コンストラクタとnew演算子

    * コンストラクタ

    コンストラクタの定義:

    public クラス名(仮引数リスト){
        コンストラクタの動作の定義
    }
  • コンストラクタとはクラスのインスタンス生成時に実行されるメソッドです
  • コンストラクタは主にそのクラスのメンバ変数を初期化するときに使用します。
  • 注意:コンストラクタ名はクラス名と一緒
  • コンストラクタの呼び出しは、以下のように記述します。

    コンストラクタの呼び出し
    public class メインクラス名{
        public static void main(String[] args) {
        
            //インスタンスの生成
            クラス名 変数名 = new クラス名();    
        }
    }
     
    class クラス名{
     
        //インスタンス生成時に実行されるコンストラクタ
        public クラス名(){
            メンバー変数の初期化処理など
        }
    }

    3.  演習問題


    クラスとはの演習問題

      広告