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中静态方法和非静态方法如何相互调用?相关推荐

  1. J2EE高级开发框架小课程之Spring框架1——Spring创建三种方式:使用无参构造器创建对象(bean标签的方式),使用静态方法创建对象,使用实例方法创建对象(非静态方法)

    Spring是什么? 是一个开源的.用于简化企业级应用开发的应用开发框架. a.简化开发: Spring框架对很多常用的api做了简化,比如,使用Spring jdbc (Spring jdbc是Sp ...

  2. js 中meta 移除head_JS函数和winform函数之间的相互调用

    1.写一个简单的html页面,用于输入日志,代码如下: <html><head> <meta charset="UTF-8"> <scri ...

  3. matlab文件相互调用,matlab中怎么同时运行多个M文件,这些文件怎么相互调用!

    楼主你好你的证明确实是在这样的,我也试验了下,个人认为是当matlab开始运行后,就将所有代码都读入内存,就算运行之中通过其他软件-例如记事本修改了正在运行的代码,也不会影响内存中的计算.个人见解,欢 ...

  4. Spring 事务方法与非事务方法相互调用 @Transactional 注解失效不回滚?

    写这篇文章的初衷呢就是最近遇到了一个Spring事务的大坑.与其说是坑,还不如说是自己事务这块儿太薄弱导致的(自嘲下). 项目环境 Spring Boot 下面开始问题描述,发生的过程有点长,想直接看 ...

  5. Java中的静态方法为什么不能调用非静态方法

    hello,小伙伴们好,我是江湖人送外号[道格牙]的子牙老师. 昨晚京东大佬勇哥在群里分享了一道他新创的JVM面试题,我听完后觉得还挺有意思的,分享给大家 小佬们先别急着看我的分析,先自己想想答案 你 ...

  6. java中怎么调用非静态方法有哪些_java中 静态方法和非静态方法的调用

    静态方法里面不能调用非静态方法 package com.zqz.image; public class HellowWord { public void say(String word){// 非静态 ...

  7. java静态方法 问题_Java中堆、栈,静态方法和非静态方法的速度问题

    一.堆和栈的速度性能分析 堆和栈是JVM内存模型中的2个重要组成部分,自己很早以前也总结过堆和栈的区别,基本都是从存储内容,存储空间大小,存储速度这几个方面来理解的,但是关于堆和栈的存储速度,只知道堆 ...

  8. C#中静态方法和非静态方法的区别

    静态方法和非静态方法的区别: 1.静态方法不需要类实例化就可以调用,反之非静态方法需要实例化后才能调用: 2.静态方法只能访问静态成员和方法,非静态方法都可以访问: 3.静态方法不能标记为overri ...

  9. java堆和客栈_JAVA中堆、栈,静态方法和非静态方法的速度问题

    一.堆和栈的速度性能分析 堆和栈是JVM内存模型中的2个重要组成部分,自己很早以前也总结过堆和栈的区别,基本都是从存储内容,存储空间大小,存储速度这几个方面来理解的,但是关于堆和栈的存储速度,只知道堆 ...

  10. 静态方法不能调用非静态方法的原因

    静态方法是属于类的,即静态方法是随着类的加载而加载的,在加载类时,程序就会为静态方法分配内存,而非静态方法是属于对象的,对象是在类加载之后创建的,也就是说静态方法先于对象存在,当你创建一个对象时,程序 ...

最新文章

  1. Openstack组建部署 — Environment of Controller Node
  2. 7款免费原型设计工具
  3. Linux 系统添加静态路由的方法
  4. shopxo首页的新闻头条栏:如何隐藏或关闭?
  5. easyui 日期控件增加清空按钮
  6. AU更新 AUTOIT
  7. ZZFAFA_BilibiliMusic_DownUrl
  8. javascript实现一行文字随不同设备自适应改变字体大小至字数完全展示
  9. 【转】为什么你的硬盘容易坏?因为它转得实在是太快了
  10. Linux周测(一些简单命令touch cat mkdir cp mv rm的简单练习)
  11. java list 子集_Java——List方法,获取子集
  12. 计算机主机能上网玩游戏吗,为什么现在人人都有电脑,还要去网吧玩游戏?
  13. python+selenium+apscheuler实现微信定时发信息
  14. 在线计算机专业术语英译中翻译,计算机术语汉英翻译.ppt
  15. 布朗大学的机器人能一笔一划临摹出蒙娜丽莎,还能模仿你的笔迹
  16. JAVASEOUL设计师品牌代购商城计算机毕业设计Mybatis+系统+数据库+调试部署
  17. python读取pdf文件
  18. python编译程序输入上网时间并计算上网费用 计算方法_编一应用程序根据上网时间计算上网费用,计算方法如下: 25元基数 ≤10小时 每小时2元 10且≤50小时 每小...
  19. mothur reverse.seqs 将序列反向互补
  20. ros插件php,ROS软路由终于可以拨号上网了 - 服务器技术 - PHP技术交流,php blog,ph......

热门文章

  1. 2019-10-06 线性系统的理解
  2. PKUWC2019游记WC2019游记
  3. 为 Nginx 创建 windows 服务自启动
  4. android toast几种使用方法 (转)
  5. String.split()方法你可能不知道的一面
  6. 安装asterisk 时遇到的报错情况,及解决办法。
  7. Django 如何实现 如下 联表 JOIN 查询?
  8. 动态嵌套游标解决方案
  9. svn插件的所有链接
  10. 20 个势头最猛的开发者工具