Javaプログラミング初心者のためのページ -37ページ目

PHP関連サイト

PHP関連のサイトの覚え書きです。


日本PHPユーザー会 http://www.php.gr.jp/

PHPのコミュニティ&ポータルサイト「PHPプロ!」 http://www.phppro.jp/

ThinkIT http://www.thinkit.co.jp/free/article/0705/7/1/



Zend PHP認定資格 http://www.zend.co.jp/certification/

LAMP Expert http://www.osri.co.jp/modules/tinyd7/index.php?id=2



コンストラクタ:答

コンストラクタは、以下の特徴を持った特殊なメソッドです。

・ 戻り値の型がない

・ メソッド名はクラス名と一致

・ インスタンス化時に呼ばれる


インスタンス化時にnewと共に使用され、通常はフィールドに適切な初期値を設定するための処理を行います。


クラス間に継承関係があるときは、

スーパークラスから順にインスタンス化が行われます。

コンストラクタの処理に何も記述しなかった場合は、

引数のないスーパークラスのコンストラクタを呼び出す

super()をコンパイラがつけるようになっています。


new Y(10);

とすれば、Yのint型が引数のコンストラクタが呼ばれますが、

その処理の前にスーパークラスXの引数なしコンストラクタを

呼び出します。

したがって、

Xyが表示されます。


コンストラクタ

class X{

X(){ System.out.print("X");}

X(int x){ System.out.print("x");

}


class Y{

Y(){ System.out.print("Y");}

Y(int y){ System.out.print("y");}

}


class Main{

public static void main(String[] args){

new Y(10);

}

}


=====

java Main

と実行するとどうなる?

・ 10が表示されれる。

・ xyが表示される。

・ Xyが表示される。

・ XYが表示される。

・ yが表示される。


答え