如题,php直接用类名调用静态方法,两个问题:
1 会调用当前类的构造函数吗?
2 会调用当前类的父类的构造函数吗?
你应该动手测试一下,浏览器是最好的老师实例一:<?phpclass A{
function __construct(){echo"A::构造函数";} static function myFun(){echo "你好,很高兴为你答题!";}
}A::myFun();?>实例二:<?phpclass A{
function __construct(){echo"A::构造函数";}
}class B extends A{
static function myFun(){echo "你好,很高兴为你答题!";}
}B::myFun();?>
1.不会2.不会
构造方法只在实例化时调用,静态方法没有实例生成,不会调用构造方法
不会的,只要在一个类被实例化的时候才会调用其构造方法,静态方法是存储在静态代码区的,是随着类的加载而被加载进来的。
你应该动手测试一下,浏览器是最好的老师
实例一:
<?php
class A{
}
A::myFun();
?>
实例二:
<?php
class A{
}
class B extends A{
}
B::myFun();
?>
1.不会
2.不会
构造方法只在实例化时调用,静态方法没有实例生成,不会调用构造方法
不会的,只要在一个类被实例化的时候才会调用其构造方法,静态方法是存储在静态代码区的,是随着类的加载而被加载进来的。