请问如果一个类内的成员函数不是静态的,那能不能直接在类外,不实例化类的前提下访问这个非静态成员函数?
class cls1{
static function func1(){echo 'static';}
function func2(){echo 'func';}
}
cls1::func1();
cls1::func2();
我这样测试了一下,结果成功了。请问这样做标准吗?或者说规定有没有说这样做不规范或者不好的
class cls1{
static function func1(){echo 'static';}
function func2(){echo 'func';}
}
cls1::func1();
cls1::func2();
我这样测试了一下,结果成功了。请问这样做标准吗?或者说规定有没有说这样做不规范或者不好的
一般成员变量 | OK | NG
静态成员变量 | NG | OK
一般成员函数 | OK | OK(函数内不可使用「$this」)
静态成员函数 | OK(函数内不可使用「$this」) | OK(函数内不可使用「$this」)
|「->」的访问 | 「::」的访问
一般成员变量 | OK | NG
静态成员变量 | NG | OK
一般成员函数 | OK | OK(函数内不可使用「$this」)
静态成员函数 | OK(函数内不可使用「$this」) | OK(函数内不可使用「$this」)
还是人家java严格
谢谢回答了,那些数据,是自己测试的出的吗?