• 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()访问,程序并不会出错,这样访问和静态方法的访问不是一样吗?要是真是这样,那还要静态方法干吗?请哪位有明白的指点一二。谢谢!!!

  • 相关阅读:
    Pythonday01
    PYTHON_DAY2
    PYTHON_DAY3
    数据字典生成SQL语句
    Spring cloud Netflix >readMe
    SecureCRT的安装与激活
    MyBatis映射文件UserMapper.xml(mysql环境)
    数据库模糊查询4种用法
    MyBatis配置文件myBatisconfig.xml
    计算机基础:2进制和2进制算法。
  • 原文地址:https://www.cnblogs.com/Athrun/p/php_class_method.html
Copyright © 2020-2023  润新知