【服务端开发】对比Java和PHP的final
「这是我参与2022首次更文挑战的第10天,活动详情查看:2022首次更文挑战」。
终于写到双位数了,第十天你好。
昨天看了掘金直播,张鑫旭大佬介绍写作经验。
印象最深的是大佬讲要有自己的风格,重点提到了开篇碎碎念。我之前也有这个习惯,我比较喜欢把文章和热点时事想结合,这样读起来也不会那么枯燥。
毕竟咱们不是写编程的工具书。
写作的目的一是自己总结,二是分享。
今天这篇仍然以坚持更文为目标,分享服务端开发过程中遇到的问题。
对比Java和PHP的final
final---用于类、方法前。
final类---不可被继承。
final方法---不可被覆盖。
注意:php中不能用final不能修饰属性。php和Java不同,Java中类属性是可以用final修饰表示的是常量;PHP不能,因为PHP的常量只能用define或者const定义。
单引号和双引号的区别
PHP中,单引号和双引号所包围的字符串有什么区别呢?
双引号包裹的$变量会被解析,而单引号不解析;
因为双引号包裹的内容要检查是否包括变量,所以读取双引号的速度比单引号要慢。
堆 栈
php
<?php class A{ public $num=100; } $a = new A(); $b = $a; $a->num=200; echo $b->num; ?>输出结果
200分析:在PHP中,基本类型变量放在栈中,对象、数组放在堆中,对象中真正的内容是存在堆中。
a只是存放了该对象在堆中的地址,将a只是存放了该对象在堆中的地址,将a只是存放了该对象在堆中的地址,将a赋给b,只是把对应的地址给了他,即b,只是把对应的地址给了他,即b,只是把对应的地址给了他,即a、b都存放了对象在堆中的地址,所以b都存放了对象在堆中的地址,所以b都存放了对象在堆中的地址,所以b->num和$a->num
