final---用于类、方法前。 
final类---不可被继承。 
final方法---不可被覆盖。 
final类不能被继承。 
如果我们不希望一个类被继承,我们使用final来修饰这个类。这个类将无法被继承。比如我们设定的Math类,涉及了我们要做的数学计算方法,这些算法也没有必要修改,也没有必要被继承,我们把它设置成final类型。

复制代码代码如下:

<? 
//声明一个final类Math 
final class Math{ 
public static $pi = 3.14;

public function __toString(){ 
return "这是Math类。"; 


$math = new Math(); 
echo $math;

//声明类SuperMath 继承自 Math类 
class SuperMath extends Math { 

//执行会出错,final类不能被继承。

?>

程序运行结果

复制代码代码如下:
Fatal error: Class SuperMath may not inherit from final class (Math) in E:\PHPProjects\test.php on line 14

final方法不能被重写 
如果不希望类中的某个方法被子类重写,我们可以设置这个方法为final方法,只需要在这个方法前加上final修饰符。

如果这个方法被子类重写,将会出现错误。

复制代码代码如下:

<? 
//声明一个final类Math 
class Math{ 
public static $pi = 3.14; 
public function __toString(){ 
return "这是Math类。"; 

public final function max($a,$b){ 
return $a > $b ? $a : $b ; 


//声明类SuperMath 继承自 Math类 
class SuperMath extends Math { 
public final function max($a,$b){} 

//执行会出错,final方法不能被重写。

?>

程序运行结果

复制代码代码如下:
Fatal error: Class SuperMath may not inherit from final class (Math) in E:\PHPProjects\test.php on line 16

final类与final方法相关推荐

  1. java final类为什么不能继承_浅谈Java之终止继承:Final类和Fianl方法

    前言 关键字Final不仅可以用来修饰变量,而且对类及其方法的继承也有很大的影响,本文将从类与方法两个方面介绍final关键字的功能. Final类 当关键字final用来修饰类时,其含义是该类不能再 ...

  2. Java之终止继承:Final类和Fianl方法

    前言 关键字Final不仅可以用来修饰变量,而且对类及其方法的继承也有很大的影响,本文将从类与方法两个方面介绍final关键字的功能. Final类 当关键字final用来修饰类时,其含义是该类不能再 ...

  3. Mockito 也能 Mock final 类和 final 方法了

    以实际 Java 项目中的单元测试 Mock 框架基本是 Mockito 了,因为它有一个十分流畅的 API.Mockito 也为 JUnit 5 配上了 MockitoExtension, 所以 J ...

  4. Java面向对象-final类和final方法、final变量(常量)

    为什么得需要使用final修饰符 继承关系最大的弊端是破坏封装:子类能访问父类的实现细节,而且可以通过方法覆盖的形式修改实现细节. final本身的含义是"最终的,不可改变的",它 ...

  5. final方法、final变量、final类、final对象—Java

    final方法:表示方法不可被子类重写(覆盖) final变量:初始化一次后值不可变 final类:类不能被继承,内部的方法和变量都变成final类型 final对象:指对象的引用不可变,但是对象的值 ...

  6. 细说final的的四种用法-----修饰类,修饰方法,常量,修饰参数 及内部类与final

    final关键字用于修饰类 public final class 类名称 { - } 一个类如果是final的,那么其中所有的成员方法都无法进行覆盖重写,java中典型的final修饰的类 Strin ...

  7. java学习之路:27.final变量,final方法,final类

    文章目录 1.final变量 2.final方法 3.final类 1.final变量 final关键字可用于变量声明,一旦改变了被设定,就不可以再改变该变量的值.通常,由final定义的变量为常量. ...

  8. java final 类_在Java中,final修饰的类有什么特点

    展开全部 关于Java中的32313133353236313431303231363533e4b893e5b19e31333264663736final(2010-09-09 14:19:48)转载▼ ...

  9. java final修饰的类_java final修饰符使用总结,final修饰类详解

    下面要继续给大家讲到的就是java final修饰符方面的知识,主要是java final修饰符使用总的一些总结,以及一些final修饰类方面的一些知识. java final修饰符使用总结 首先我们 ...

最新文章

  1. python可以做什么项目-python都能做什么
  2. 三章:CentOS6.5 更改时区设置、安装samba、install VMware、install XFS 、install XFS --parted
  3. POJ2155 - Matrix(二维树状数组)
  4. thinkphp的快捷方法实例化对象
  5. 95-190-040-源码-window-Session Window
  6. WPF: 本地化(Localization) 实现
  7. xamarin之 安装工具介绍
  8. win11安装ie浏览器
  9. Linux虚拟网络设备之bridge(桥)
  10. c语言 约分最简分式
  11. 批量转化文件夹下图片格式方法,简单易操作!
  12. zynq-7000系列基于zynq-zed的vivado初步设计之linux下控制PL扩展的UART
  13. 传奇服务器怎么修改升级武器成功,传奇论坛服务端教程原创升级武器不碎完整脚本...
  14. 2019 google开发者大会 | tensorflow相关视频
  15. 环形10个树洞兔子c语言设计,[阅读打卡]I am a Bunny+提高孩子的欣赏能力我是一只小兔子,我的名字叫尼古拉斯 我住在一个树洞里面 在春天的时候,我喜欢看美丽的花儿,有...
  16. PTA翁恺7-6 厘米换算英尺英寸 (15 分)
  17. mybatis配置文件 .dtd头部约束 出错报红 【亲测实用,可供参考】
  18. 几款开源SDR平台对比
  19. ArcGIS API For Javascript 4.15 绘制地图:在地图上测距离、测面积和在不同图层上搜索
  20. 微信刷卡 sdk java_微信支付 Java SDK

热门文章

  1. 口语语汇单词篇(12)
  2. 算法书籍推荐及网络资源
  3. Spring依赖注入与自动装配
  4. 怎么格式化只读U盘?
  5. 惯导1-哥氏定理理解
  6. win10 + hadoop2.7.3 + idea 运行第一个MapReduce项目:WordCount
  7. 基于深度学习的人脸识别技术原理解析与项目实战
  8. Werkzeug 与 WSGI 介绍
  9. Data Guard 转载 ⑼ .逻辑standby(3)角色转换
  10. 自动化测试用例的执行策略