这篇文章主要介绍了php中静态方法如何调用非静态方法,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。
php中静态方法调用非静态方法的办法:首先需要实例化对象;然后再调用对象中的非静态方法即可。非静态方法调用静态方法的办法:可以使用self关键字或者【类名::方法名】形式调用。
静态方法调用非静态方法: 在类中静态方法中,需要实例化对象,然后再调用类中的方法。
非静态方法调用静态方法: 可以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中静态方法如何调用非静态方法内容对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,遇到问题就找亿速云,详细的解决方法等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。