php中静态方法和非静态方法如何相互调用?
程序员文章站
2022-03-03 12:31:12
...
php中静态方法和非静态方法相互调用的方法:1、非静态方法调用静态方法: 可以【self】或者类名加【::】的形式调用;2、静态方法调用非静态方法:,在类中静态方法中,需要实例化对象,再调用类中的方法。
php中静态方法和非静态方法相互调用的方法:
静态方法调用非静态方法: 在类中静态方法中,需要实例化对象,然后再调用类中的方法
非静态方法调用静态方法: 可以self
或者 类名加::
的形式调用
如下面的案例:
<?php class A{ public function noneStaticFun(){ echo __CLASS__." none static function<br/>"; } public static function staticFun(){ echo __CLASS__." static function<br/>"; //静态方法调用非静态方法,需要实例化对象然后再调用对象中的非静态方法 (new A())->noneStaticFun(); } public function testCallStaticFun(){ echo "call static function<br/>"; //调用本类的静态方法,使用 self关键字或者类名 self::staticFun(); //A::staticFun(); //也可以使用这种方式 //调用其它类的静态方法,直接使用类名::方法名的形式调用 B::myStaticFun(); } } class B{ public static function myStaticFun(){ echo __CLASS__." static function<br/>"; } } //演示 $testA = new A(); $testA->testCallStaticFun(); A::staticFun();
运行结果:
call static function A static function A none static function B static function A static function A none static function
相关学习推荐:PHP编程从入门到精通
以上就是php中静态方法和非静态方法如何相互调用?的详细内容,更多请关注其它相关文章!
推荐阅读
-
PHP静态调用非静态方法的应用分析
-
php面向对象中static静态属性和静态方法的调用
-
PowerShell中调用.NET对象的静态方法、静态属性和类方法、类属性例子
-
PHP静态调用非静态方法的应用分析
-
类型,对象,线程栈,托管堆在运行时的关系,以及clr如何调用静态方法,实例方法,和虚方法
-
为什么静态方法无法直接调用非静态成员变量和方法
-
php面向对象中static静态属性和静态方法的调用,面向对象static_PHP教程
-
php中url伪静态和Gzip同时开启引发冲突的原因与解决方法
-
php面向对象中static静态属性和静态方法的调用_PHP
-
思绪凌乱了,原来非静态方法也可以静态调用(转),思绪静态_PHP教程