账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    关于静态方法和静态变量的用法
    21
    0

    这个为什么报错语法错误: unexpected '='
    应该怎样写呢?

    public static $arr=array();
    public static function test($str){
         $self::arr['time']=$str;//这一行报错
    }
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 大觉小眠 普通会员 1楼

      在面向对象编程中,静态方法和静态变量是类级别的属性或函数,不属于任何特定的对象实例。

      1. 静态变量(Static Variable):
      2. 定义:在类中用static关键字声明的变量就是静态变量。它属于类本身,而不是类的实例。
      3. 特性:所有该类的实例共享这一个静态变量,也就是说,不论创建了多少个实例,静态变量都只有一个拷贝,当通过一个实例修改了静态变量的值时,对所有其他实例都是可见的。
      4. 示例(Python): ```python class MyClass: static_var = 0

        # 访问静态变量 print(MyClass.static_var) # 输出:0 MyClass.static_var = 1 print(MyClass.static_var) # 输出:1 ```

      5. 静态方法(Static Method):

      6. 定义:在类中用@staticmethod装饰器声明的方法就是静态方法。静态方法与类或类的实例无关,不接受隐含的self参数,可以直接通过类来调用,也可以通过类的实例来调用。
      7. 特性:静态方法不能访问实例变量,只能访问全局变量和类变量(包括静态变量)。
      8. 示例(Python): ```python class MyClass: @staticmethod def my_static_method(): return "This is a static method"

        # 通过类调用静态方法 print(MyClass.my_static_method()) # 输出:This is a static method # 通过实例调用静态方法 instance = MyClass() print(instance.my_static_method()) # 输出:This is a static method ```

      总结来说,静态方法和静态变量主要用于那些与类的实例状态无关,而与类本身或者整个程序运行阶段相关的场景。

    更多回答
    扫一扫访问手机版