タイトルにあるように、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.いいえ
コンストラクターはインスタンス化中にのみ呼び出されます。静的メソッドはインスタンスを生成せず、コンストラクターを呼び出しません
いいえ、コンストラクター メソッドは、クラスがインスタンス化されるときにのみ呼び出されます。静的メソッドは静的コード領域に保存され、クラスがロードされるときにロードされます。