独習JAVA 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 ObjectクラスとClassクラス 11月28日(金) 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 ObjectクラスとClassクラス 11月28日(金) 発表者:藤井 丈明
6.8 コンストラクタの修飾子 コンストラクタの修飾子 コンストラクタの宣言に指定できる修飾子は3つ キーワード 意味 private 6.8 コンストラクタの修飾子 コンストラクタの修飾子 コンストラクタの宣言に指定できる修飾子は3つ キーワード 意味 private 同じクラスのコードからしかアクセスできないコンストラクタ protected サブクラスまたは同じパッケージ内のアクセスコードからしかアクセスできないコンストラクタ public ほかのクラスからアクセスできるコンストラクタ *他の修飾子と同時に指定できない *1つも指定しなければ、同じパッケージ内のコードからしかアクセスできない
6.9 メソッドの修飾子 キーワード 意味 abstract このクラスでは実装しないメソッド final オーバーライドできないメソッド 6.9 メソッドの修飾子 キーワード 意味 abstract このクラスでは実装しないメソッド final オーバーライドできないメソッド native Javaのバイトコードではなく、ホストCPUで使われるマシン語で実装されるメソッド private 同じクラス内のコードからしか呼び出されないメソッド protected サブクラスまたは同じパッケージ内のコードからしかアクセスできないメソッド public 他のクラスからアクセスできるメソッド static インスタンスメソッドではないメソッド synchronized 実行を開始する時にロックを取得するメソッド
6.10 ObjectクラスとClassクラス Objectクラス Javaクラス階層の頂点。Objectクラスに定義された状態と動作は他の全てのクラスに継承される Objectクラスのメソッド *2つの変数が同じオブジェクトを参照しているか調べる equals()メソッド boolean equals(Object obj) getClass()メソッド *現在のオブジェクトのClassオブジェクトを返す Class getClass() toString()メソッド String toString() *現在のオブジェクトを表す文字列を返す
Classクラス Classクラス 実行中のプログラム内のクラス、インターフェイスに関する情報がカプセル化。基本データ型とvoid、特定の次元を持つ所定のデータ型の配列にClassオブジェクトがある
Classクラスのメソッド Classクラスのメソッド getName()メソッド String getName() *データ型の名前を返す Class getSuperclass() getSuperclass()メソッド *現在のクラスのスーパークラスのClassオブジェクトを返す Static Class forName(String cIsName) throws ClassNotFoundException forName()メソッド クラス名 *名前で指定されたクラスのClassオブジェクトを返す
課題 次のサンプルプログラムではコンパイル時にエラーが出るので、正しく訂正する。
class Person{ String name; int age; private Person(String name, int age){ this.name=name; this.age=age; } } class Kadai6_8{ public static void main(String args[]){ Person p1=new Person("Jhon",30); System.out.println(p1.name); System.out.println(p1.age); }}