答案:3
解析:$num为静态属性,常驻内存,不会立即被回收。
答案:D
解析:final关键词只能修饰类和方法,不能修饰成员属性。
- 如果不希望一个类被继承,则可以使用final关键词来修饰该类。
- 如果不希望一个方法被子类重写,则可以使用final关键词来修饰该方法。
示例:
1.final修饰类
<?php
/**
*final关键词修饰类
*/
final class A {
public function __toString()
{
// TODO: Implement __toString() method.
return "这是Class A";
}
}
$a=new A();
echo $a;
输出结果:
class B extends A{
public function __toString()
{
return "B继承了A!"; // TODO: Change the autogenerated stub
}
}
输出结果:
Fatal error : Class B may not inherit from final class (A)
B类不能继承被final修饰的A类。
2.final修饰方法
<?php
/**
* final关键词修饰方法
*/
class A{
final function __toString()
{
return "A的方法被final修饰";
}
}
$a =new A();
echo $a;
输出结果:
A的方法被final修饰。
class B extends A{
function __toString()
{
return "A的子类B试图重写A类的被final修饰的方法";
}
}
输出结果:
Fatal error
: Cannot override final method A::__toString()
A的子类B不能重写被final修饰的方法。