首页 > 试题广场 >

以下说法错误的是( )

[单选题]
以下说法错误的是( )
  • 在外部访问静态成员属性时使用类名::静态成员属性名
  • 在外部访问静态成员属性时使用$实例化对象->静态成员属性名
  • 在外部访问静态方法时使用$实例化对象 ->静态方法名
  • 在外部访问静态方法时使用类名::静态方法名
静态属性不能通过一个类已实例化的对象来访问(但静态方法可以)。
http://php.net/manual/zh/language.oop5.static.php
发表于 2015-06-20 20:55:39 回复(0)
静态属性不能通过一个类已实例化的对象来访问(但静态方法可以)。
发表于 2015-12-06 14:00:27 回复(0)
声明类属性或方法为静态,就可以不实例化类而直接访问。静态属性不能通过一个类已实例化的对象来访问(但静态方法可以)。

由于静态方法不需要通过对象即可调用,所以伪变量 $this 在静态方法中不可用。
静态属性不可以由对象通过 -> 操作符来访问
静态属性只能被初始化为文字或常量,不能使用表达式。
以可以把静态属性初始化为整数或数组,但不能初始化为另一个变量或函数返回值,也不能指向一个对象。
发表于 2018-03-07 20:00:28 回复(0)
class A {  public static $b = 2;  public static function test(){  echo "static function";  } } $a = new A(); echo $a::$b; //ok A::test();//ok $a->test();//ok echo A::$b;//ok echo $a->b;//错误,试图以非static的方式访问静态变量 。

编辑于 2016-01-25 15:15:19 回复(0)
class A {
    public static $a = 1;
    public $b = 2;
    public function one(){}
    public static function two(){}
}

$a = new A();
$a->b;
$a->one();
$a->two();
A::$a;
A::two();

发表于 2022-02-21 22:58:28 回复(0)
静态属性,用类名或实例化都可以获取, 只不过这里的B答案用了箭头->, 那就错了
发表于 2021-08-16 13:15:50 回复(0)
静态属性不能通过一个类已实例化的对象来访问(但静态方法可以)。
发表于 2020-12-29 09:01:44 回复(0)
静态方法属于类本身,可以不需要实例化就可以通过::直接调用,但是静态属性只能通过::调用,需要注意的是在静态方法中不可以调用类中的非静态方法
发表于 2020-04-09 09:38:44 回复(0)
这种蛋疼玩意儿有啥意义?
发表于 2020-01-17 18:18:09 回复(0)
静态属性不能通过一个已实例化的对象来访问
发表于 2018-06-25 14:31:23 回复(0)
b
发表于 2015-03-19 15:57:08 回复(0)