静态属性与静态方法--笔记

本文详细介绍了PHP中静态与非静态成员的区别,包括如何定义静态属性与方法,以及它们之间的相互调用规则。文章通过示例展示了静态成员无需实例化即可调用的特点,并解释了静态方法无法直接访问非静态属性的原因。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?php
class test
{
    //定义属性
    public static $mA = "这是静态属性";
    public $A         = "非静态属性";

    //静态方法
    public static function sfun()
    {
        echo self::$mA; //内部调用静态属性
        //echo $this->A; //报错 无法输出
    }

    //非静态方法
    function fun()
    {
        echo self::$mA; //"这是静态属性"
        echo $this->A; //"非静态属性"
    }
}

$test = new test(); //实例化
$test->fun(); //外部调用非静态方法
test::sfun(); //外部调用静态方法

echo $test->A; //外部调用非静态属性
echo test::$mA; //外部调用静态属性



总结:

1.静态属性或方法用"::"调用 非静态属性或方法用"->"调用

2.静态方法不能调用非静态属性

3.静态方法或属性无需实例化即可调用

4.若用"::"调用非静态方法 默认该方法为静态

5.调用静态属性 属性名前需要加“$” 非静态属性则不需要

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值