84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
タイトルにあるように、PHP はクラス名を使用して静的メソッドを直接呼び出します。2 つの問題があります:
1 現在のクラスのコンストラクターが呼び出されますか?
2 現在のクラスの親クラスのコンストラクターが呼び出されますか?
自分でテストしてください。ブラウザが最良の教師です例 1:<?phpclass A{
}A::myFun();?>例 2:class A{
}クラス B は A を拡張します{
}B::myFun();?>
1.いいえ2.いいえ
コンストラクターはインスタンス化中にのみ呼び出されます。静的メソッドはインスタンスを生成せず、コンストラクターを呼び出しません
いいえ、コンストラクター メソッドは、クラスがインスタンス化されるときにのみ呼び出されます。静的メソッドは静的コード領域に保存され、クラスがロードされるときにロードされます。
自分でテストしてください。ブラウザが最良の教師です
リーリー例 1:
<?php
class A{
}
リーリーA::myFun();
?>
例 2:
class A{
}
リーリークラス B は A を拡張します{
}
B::myFun();
?>
1.いいえ
2.いいえ
コンストラクターはインスタンス化中にのみ呼び出されます。静的メソッドはインスタンスを生成せず、コンストラクターを呼び出しません
いいえ、コンストラクター メソッドは、クラスがインスタンス化されるときにのみ呼び出されます。静的メソッドは静的コード領域に保存され、クラスがロードされるときにロードされます。