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が表示される。