final类与final方法
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类不能被继承。
?>
程序运行结果
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方法不能被重写。
?>
程序运行结果
final类与final方法相关推荐
- java final类为什么不能继承_浅谈Java之终止继承:Final类和Fianl方法
前言 关键字Final不仅可以用来修饰变量,而且对类及其方法的继承也有很大的影响,本文将从类与方法两个方面介绍final关键字的功能. Final类 当关键字final用来修饰类时,其含义是该类不能再 ...
- Java之终止继承:Final类和Fianl方法
前言 关键字Final不仅可以用来修饰变量,而且对类及其方法的继承也有很大的影响,本文将从类与方法两个方面介绍final关键字的功能. Final类 当关键字final用来修饰类时,其含义是该类不能再 ...
- Mockito 也能 Mock final 类和 final 方法了
以实际 Java 项目中的单元测试 Mock 框架基本是 Mockito 了,因为它有一个十分流畅的 API.Mockito 也为 JUnit 5 配上了 MockitoExtension, 所以 J ...
- Java面向对象-final类和final方法、final变量(常量)
为什么得需要使用final修饰符 继承关系最大的弊端是破坏封装:子类能访问父类的实现细节,而且可以通过方法覆盖的形式修改实现细节. final本身的含义是"最终的,不可改变的",它 ...
- final方法、final变量、final类、final对象—Java
final方法:表示方法不可被子类重写(覆盖) final变量:初始化一次后值不可变 final类:类不能被继承,内部的方法和变量都变成final类型 final对象:指对象的引用不可变,但是对象的值 ...
- 细说final的的四种用法-----修饰类,修饰方法,常量,修饰参数 及内部类与final
final关键字用于修饰类 public final class 类名称 { - } 一个类如果是final的,那么其中所有的成员方法都无法进行覆盖重写,java中典型的final修饰的类 Strin ...
- java学习之路:27.final变量,final方法,final类
文章目录 1.final变量 2.final方法 3.final类 1.final变量 final关键字可用于变量声明,一旦改变了被设定,就不可以再改变该变量的值.通常,由final定义的变量为常量. ...
- java final 类_在Java中,final修饰的类有什么特点
展开全部 关于Java中的32313133353236313431303231363533e4b893e5b19e31333264663736final(2010-09-09 14:19:48)转载▼ ...
- java final修饰的类_java final修饰符使用总结,final修饰类详解
下面要继续给大家讲到的就是java final修饰符方面的知识,主要是java final修饰符使用总的一些总结,以及一些final修饰类方面的一些知识. java final修饰符使用总结 首先我们 ...
最新文章
- python可以做什么项目-python都能做什么
- 三章:CentOS6.5 更改时区设置、安装samba、install VMware、install XFS 、install XFS --parted
- POJ2155 - Matrix(二维树状数组)
- thinkphp的快捷方法实例化对象
- 95-190-040-源码-window-Session Window
- WPF: 本地化(Localization) 实现
- xamarin之 安装工具介绍
- win11安装ie浏览器
- Linux虚拟网络设备之bridge(桥)
- c语言 约分最简分式
- 批量转化文件夹下图片格式方法,简单易操作!
- zynq-7000系列基于zynq-zed的vivado初步设计之linux下控制PL扩展的UART
- 传奇服务器怎么修改升级武器成功,传奇论坛服务端教程原创升级武器不碎完整脚本...
- 2019 google开发者大会 | tensorflow相关视频
- 环形10个树洞兔子c语言设计,[阅读打卡]I am a Bunny+提高孩子的欣赏能力我是一只小兔子,我的名字叫尼古拉斯 我住在一个树洞里面 在春天的时候,我喜欢看美丽的花儿,有...
- PTA翁恺7-6 厘米换算英尺英寸 (15 分)
- mybatis配置文件 .dtd头部约束 出错报红 【亲测实用,可供参考】
- 几款开源SDR平台对比
- ArcGIS API For Javascript 4.15 绘制地图:在地图上测距离、测面积和在不同图层上搜索
- 微信刷卡 sdk java_微信支付 Java SDK