在php中final static $this关键字主要是用在类中或对象中,下面我来把我学习final static $this笔记记录下来,有需要了解的朋友可参考参考.
final关键字
php final关键字用来在一个函数或者类名称前面,表明该函数不能被重写或者该类不能被继承.
1、final方法不能被重写.
如果不希望类中某个方法被子类重写,只需要在这个方法前加上关键字final,即设置final方法.
实例代码如下:
<?php class ex1 { final function fn1() { return "php"; } } class ex2 extends ex1 { function fn1() { return "html"; } } $p = new ex2(); echo $p->fn1(); ?>
加了final关键字的方法不能被重写,运行出错.
2、final类不能被继承.
被声明了final的类不能被继承,否则出错.
实例代码如下:
<?php final class ex1 { private $name; } class ex2 extends ex1 { private $age; } ?>
static关键字
php static关键字不仅可以用来声明一个静态变量,在类中同样可以声明静态的属性或者方法,成为“类属性”或“类方法”.
1、声明了静态的属性和方法后,在类中不能用$this关键字来引用,可以使用下面两种方法引用:
在类中:self::静态成员名称
在类外:类名称::静态成员名称
2、访问该类时,可不必实例化,直接使用类名称::静态成员名称的格式.
静态属性实例:
实例代码如下:
<?php class user { private static $count = 10; private static $sum = 1; public function __construct() { for ($i = 1; $i < 11; $i++) { self::$sum = self::$sum * self::$count; /* 调用静态变量 */ self::$count--; } } public function getCount() { return self::$sum; } } $user1 = new user(); echo $user1->getCount(); ?>
静态方法实例:
实例代码如下:
<?php class Math { public static function sum($num1, $num2) { return $num1 + $num2; } public static function product($num1, $num2) { return $num1 * $num2; } } $a = 88; $b = 100; echo "两数之和为: "; echo "<br>"; echo Math::sum($a, $b); echo "<P>"; $a = 66; $b = 88; echo "两数之积为: "; echo "<br>"; echo Math::product($a, $b); ?>
$this关键字
为了解决php类和对象中变量与属性的命名冲突和不确定性问题,引入了”$this”关键字来调用当前的对象.
在类中调用当前对象的属性和方法,必须使用”$this->”关键字;$this在构造函数中指该构造函数所创建的新对象;方法内的局部变量不属于对象,不使用$this关键字取值.
使用$this关键字,我们可以在类中调用对象属性或者方法.
1、调用变量
实例代码如下:
<?php class user { private $n; function __construct() { $name = "Mike"; echo $this->n = $name; } } $p = new user(); ?>
2、调用方法
实例代码如下:
<?php class cal { public function sum($a, $b) { return $a + $b; } public function prt($a, $c) { return $a * $c; } public function result($a, $b, $c) { $a = $this->sum($a, $b); return $this->prt($a, $c); } } $c = new cal(); echo "(2+3)*10= " . $c->result('2', '3', '10'); ?>
教程地址:
欢迎转载!但请带上文章地址^^

在PHP开发中,当你想使用类的成员变量或者方法时,常常会遇到“PHPFatalerror:Using$thiswhennotinobjectcontext”的错误提示信息。这个错误提示是由于使用$this关键字访问类成员时出现了错误的上下文环境导致的。为了解决这个问题,下面我们将介绍一些解决方法。确保代码在类的内部进行检查代码是否在类

Java中final、finally、finalize的区别,需要具体代码示例在Java编程中,经常会遇到final、finally、finalize这三个关键词,它们虽然拼写相似,但却有不同的含义和用法。本文将详细解释这三个关键词的区别,同时给出代码示例以帮助读者更好地理解。一、final关键字final关键字可以用于类、方法和变量。它的作用是使被修饰的类

常量变量是其值固定且程序中只存在一个副本的变量。一旦你声明了一个常量变量并给它赋值,你就不能在整个程序中再次改变它的值。与其他语言不同,Java不直接支持常量。但是,你仍然可以通过声明一个变量为静态和final来创建一个常量。静态-一旦你声明了一个静态变量,它们将在编译时加载到内存中,即只有一个副本可用。Final-一旦你声明了一个final变量,就不能再修改它的值。因此,你可以通过将实例变量声明为静态和final来在Java中创建一个常量。示例 演示classData{&am

在java中,final可以用来修饰类、方法和变量。final修饰类,表示该类是无法被任何其他类继承的,意味着此类在一个继承树中是一个叶子类,并且此类的设计已被认为很完美而不需要进行修改或扩展。final修饰类中的方法,表示该类是无法被任何其他类继承的,不可以被重写;也就是把该方法锁定了,以防止继承类对其进行更改。final修饰类中的变量,表示该变量一旦被初始化便不可改变。

一、static 请先看下面这段程序:publicclassHello{publicstaticvoidmain(String[]args){//(1)System.out.println("Hello,world!");//(2)}}看过这段程序,对于大多数学过Java的从来说,都不陌生。即使没有学过Java,而学过其它的高级语言,例如C,那你也应该能看懂这段代码的意思。它只是简单的输出“Hello,world”,一点别的用处都没有,然而,它却展示了static关键字的主

c语言static的作用和用法:1、变量作用域;2、生命周期;3、函数内部;4、修饰全局变量;5、修饰函数;6、其他用途;详细介绍:1、变量作用域,当一个变量前有static关键字,那么这个变量的作用域被限制在声明它的文件内,也就是说,这个变量是“文件级作用域”,这对于防止变量的“重复定义”问题很有用;2、生命周期,静态变量在程序开始执行时初始化一次,并在程序结束时销毁等等。

C语言中static关键字的实际应用场景及使用技巧一、概述static是C语言中的一个关键字,用于修饰变量和函数。它的作用是改变其在程序运行过程中的生命周期和可见性,使得变量和函数具有静态的特性。本文将介绍static关键字的实际应用场景及使用技巧,并通过具体的代码示例进行说明。二、静态变量延长变量的生命周期使用static关键字修饰局部变量可以将其生命周期

static的作用:1、变量;2、方法;3、类;4、其他用途;5、多线程环境;6、性能优化;7、单例模式;8、常量;9、局部变量;10、内存布局优化;11、避免重复初始化;12、在函数中使用。详细介绍:1、变量,静态变量,当一个变量被声明为static时,它属于类级别,而不是实例级别,这意味着无论创建多少个对象,都只有一个静态变量存在,所有对象都共享这个静态变量等等。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

WebStorm Mac版
好用的JavaScript开发工具

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

禅工作室 13.0.1
功能强大的PHP集成开发环境