php中静态方法的调用,php中静态方法和非静态方法如何相互调用?
php中静态方法和非静态方法如何相互调用?2020-09-01 00:05:28
php中静态方法和非静态方法相互调用的方法:1、非静态方法调用静态方法: 可以【self】或者类名加【::】的形式调用;2、静态方法调用非静态方法:,在类中静态方法中,需要实例化对象,再调用类中的方法。
php中静态方法和非静态方法相互调用的方法:
静态方法调用非静态方法: 在类中静态方法中,需要实例化对象,然后再调用类中的方法
非静态方法调用静态方法: 可以self 或者 类名加::的形式调用
如下面的案例:<?phpclass A{ public function noneStaticFun(){ echo __CLASS__." none static function
"; } public static function staticFun(){ echo __CLASS__." static function
"; //静态方法调用非静态方法,需要实例化对象然后再调用对象中的非静态方法 (new A())->noneStaticFun(); } public function testCallStaticFun(){ echo "call static function
"; //调用本类的静态方法,使用 self关键字或者类名 self::staticFun(); //A::staticFun(); //也可以使用这种方式 //调用其它类的静态方法,直接使用类名::方法名的形式调用 B::myStaticFun(); }}class B{ public static function myStaticFun(){ echo __CLASS__." static function
"; }}//演示$testA = new A();$testA->testCallStaticFun();A::staticFun();
运行结果:call static functionA static functionA none static functionB static functionA static functionA none static function
相关学习推荐:PHP编程从入门到精通
php中静态方法的调用,php中静态方法和非静态方法如何相互调用?相关推荐
- J2EE高级开发框架小课程之Spring框架1——Spring创建三种方式:使用无参构造器创建对象(bean标签的方式),使用静态方法创建对象,使用实例方法创建对象(非静态方法)
Spring是什么? 是一个开源的.用于简化企业级应用开发的应用开发框架. a.简化开发: Spring框架对很多常用的api做了简化,比如,使用Spring jdbc (Spring jdbc是Sp ...
- js 中meta 移除head_JS函数和winform函数之间的相互调用
1.写一个简单的html页面,用于输入日志,代码如下: <html><head> <meta charset="UTF-8"> <scri ...
- matlab文件相互调用,matlab中怎么同时运行多个M文件,这些文件怎么相互调用!
楼主你好你的证明确实是在这样的,我也试验了下,个人认为是当matlab开始运行后,就将所有代码都读入内存,就算运行之中通过其他软件-例如记事本修改了正在运行的代码,也不会影响内存中的计算.个人见解,欢 ...
- Spring 事务方法与非事务方法相互调用 @Transactional 注解失效不回滚?
写这篇文章的初衷呢就是最近遇到了一个Spring事务的大坑.与其说是坑,还不如说是自己事务这块儿太薄弱导致的(自嘲下). 项目环境 Spring Boot 下面开始问题描述,发生的过程有点长,想直接看 ...
- Java中的静态方法为什么不能调用非静态方法
hello,小伙伴们好,我是江湖人送外号[道格牙]的子牙老师. 昨晚京东大佬勇哥在群里分享了一道他新创的JVM面试题,我听完后觉得还挺有意思的,分享给大家 小佬们先别急着看我的分析,先自己想想答案 你 ...
- java中怎么调用非静态方法有哪些_java中 静态方法和非静态方法的调用
静态方法里面不能调用非静态方法 package com.zqz.image; public class HellowWord { public void say(String word){// 非静态 ...
- java静态方法 问题_Java中堆、栈,静态方法和非静态方法的速度问题
一.堆和栈的速度性能分析 堆和栈是JVM内存模型中的2个重要组成部分,自己很早以前也总结过堆和栈的区别,基本都是从存储内容,存储空间大小,存储速度这几个方面来理解的,但是关于堆和栈的存储速度,只知道堆 ...
- C#中静态方法和非静态方法的区别
静态方法和非静态方法的区别: 1.静态方法不需要类实例化就可以调用,反之非静态方法需要实例化后才能调用: 2.静态方法只能访问静态成员和方法,非静态方法都可以访问: 3.静态方法不能标记为overri ...
- java堆和客栈_JAVA中堆、栈,静态方法和非静态方法的速度问题
一.堆和栈的速度性能分析 堆和栈是JVM内存模型中的2个重要组成部分,自己很早以前也总结过堆和栈的区别,基本都是从存储内容,存储空间大小,存储速度这几个方面来理解的,但是关于堆和栈的存储速度,只知道堆 ...
- 静态方法不能调用非静态方法的原因
静态方法是属于类的,即静态方法是随着类的加载而加载的,在加载类时,程序就会为静态方法分配内存,而非静态方法是属于对象的,对象是在类加载之后创建的,也就是说静态方法先于对象存在,当你创建一个对象时,程序 ...
最新文章
- Openstack组建部署 — Environment of Controller Node
- 7款免费原型设计工具
- Linux 系统添加静态路由的方法
- shopxo首页的新闻头条栏:如何隐藏或关闭?
- easyui 日期控件增加清空按钮
- AU更新 AUTOIT
- ZZFAFA_BilibiliMusic_DownUrl
- javascript实现一行文字随不同设备自适应改变字体大小至字数完全展示
- 【转】为什么你的硬盘容易坏?因为它转得实在是太快了
- Linux周测(一些简单命令touch cat mkdir cp mv rm的简单练习)
- java list 子集_Java——List方法,获取子集
- 计算机主机能上网玩游戏吗,为什么现在人人都有电脑,还要去网吧玩游戏?
- python+selenium+apscheuler实现微信定时发信息
- 在线计算机专业术语英译中翻译,计算机术语汉英翻译.ppt
- 布朗大学的机器人能一笔一划临摹出蒙娜丽莎,还能模仿你的笔迹
- JAVASEOUL设计师品牌代购商城计算机毕业设计Mybatis+系统+数据库+调试部署
- python读取pdf文件
- python编译程序输入上网时间并计算上网费用 计算方法_编一应用程序根据上网时间计算上网费用,计算方法如下: 25元基数 ≤10小时 每小时2元 10且≤50小时 每小...
- mothur reverse.seqs 将序列反向互补
- ros插件php,ROS软路由终于可以拨号上网了 - 服务器技术 - PHP技术交流,php blog,ph......