PHP类中一般方法与静态方法的疑问

复制代码
<?php
/*
产品类
*/
class Product{
    public static $Count=0;
    public $Name='';
    
    public function Show(){
        print('<p>Show Method</p>');
    }
    
    public static function Display(){
        print('<p>Display Static Method</>');
    }
}

$class = new ReflectionClass('Product');
print "<pre>";
Reflection::export($class);
print "</pre>";

Product::Display();
Product::Show();//为什么非静态方法在这里也可以用::的方式访问?
?>
复制代码
Class [  class Product ] {
  @@ D:\WebRoot\static.php 5-16

  - Constants [0] {
  }

  - Static properties [1] {
    Property [ public static $Count ]
  }

  - Static methods [1] {
    Method [  static public method Display ] {
      @@ D:\WebRoot\static.php 13 - 15
    }
  }

  - Properties [1] {
    Property [  public $Name ]
  }

  - Methods [1] {
    Method [  public method Show ] {
      @@ D:\WebRoot\static.php 9 - 11
    }
  }
}

Display Static Method

Show Method

 

以上是程序执行的结果,Show方法明明是一个一般方法,为什么也可以用Product::Show()访问,程序并不会出错,这样访问和静态方法的访问不是一样吗?要是真是这样,那还要静态方法干吗?请哪位有明白的指点一二。谢谢!!!

posted @   Athrun  阅读(754)  评论(6编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
历史上的今天:
2011-11-29 编程实现双击某个文件用指定程序打开
2008-11-29 META http-equiv 大全
2007-11-29 phpmyadmin管理mysql時報的幾個錯誤解決辦法
2006-11-29 存储过程分页
点击右上角即可分享
微信分享提示