php中final static $this关键字学习笔记
在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'); ?>
教程地址:
欢迎转载!但请带上文章地址^^

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP 개발에서 클래스의 멤버 변수나 메서드를 사용하려는 경우 "PHPFatalerror: Using$thiswhennotinobjectcontext"라는 오류 메시지가 자주 표시됩니다. 이 오류 메시지는 $this 키워드를 사용하여 클래스 멤버에 액세스할 때 잘못된 컨텍스트로 인해 발생합니다. 이 문제를 해결하기 위해 아래에서는 몇 가지 해결 방법을 소개합니다. 코드가 클래스 내부에 있는지 확인하십시오. 코드가 클래스 내부에 있는지 확인하십시오.

Java에서 final, finally 및 finalize의 차이점에는 특정 코드 예제가 필요합니다. Java 프로그래밍에서는 final, finally 및 finalize라는 세 가지 키워드가 철자가 비슷하더라도 의미와 사용법이 다른 경우가 많습니다. 이 기사에서는 이 세 가지 키워드의 차이점을 자세히 설명하고 독자의 이해를 돕기 위해 코드 예제를 제공합니다. 1. Final 키워드 final 키워드는 클래스, 메소드, 변수에 사용할 수 있습니다. 그 기능은 수정된 클래스를 만드는 것입니다.

상수 변수는 값이 고정되어 있고 프로그램에 단 하나의 복사본만 존재하는 변수입니다. 상수 변수를 선언하고 값을 할당하면 프로그램 전체에서 해당 값을 다시 변경할 수 없습니다. 다른 언어와 달리 Java는 상수를 직접 지원하지 않습니다. 그러나 변수를 static 및 final로 선언하여 상수를 생성할 수 있습니다. 정적 - 정적 변수를 선언하면 컴파일 타임에 메모리에 로드됩니다. 즉, 하나의 복사본만 사용할 수 있습니다. 최종 - 최종 변수를 선언한 후에는 해당 값을 수정할 수 없습니다. 따라서 인스턴스 변수를 static 및 final로 선언하여 Java에서 상수를 생성할 수 있습니다. 예시 데모 classData{&am

Java에서는 final을 사용하여 클래스, 메소드 및 변수를 수정할 수 있습니다. 최종 수정된 클래스는 해당 클래스가 다른 클래스에 의해 상속될 수 없다는 의미입니다. 즉, 이 클래스는 상속 트리의 리프 클래스이며, 이 클래스의 설계가 완벽하다고 간주되어 수정이나 확장이 필요하지 않다는 의미입니다. 최종 수정된 클래스의 메서드는 해당 클래스가 다른 클래스에서 상속될 수 없고 재정의될 수 없음을 의미합니다. 즉, 상속된 클래스가 메서드를 변경하지 못하도록 메서드가 잠겨 있습니다. final은 클래스의 변수를 수정하여 변수가 초기화되면 변경할 수 없음을 나타냅니다.

Java에서 최종 객체를 생성하는 방법에는 최종 변수를 선언하거나 최종 수정자를 사용하여 클래스를 선언하는 두 가지 방법이 있습니다. final 변수가 선언되면 초기화 프로그램을 통해 객체가 생성되고, final 클래스가 선언되면 클래스 인스턴스는 변경할 수 없습니다. 중요한 점은 최종 객체에 대한 참조는 여전히 변경될 수 있지만 해당 객체가 가리키는 객체는 변경할 수 없다는 것입니다.

C 언어에서 정적의 역할 및 사용법: 1. 변수 범위, 3. 내부 함수, 5. 함수 수정, 1. 변수 범위, 변수 앞에 static 키워드가 있는 경우 변수의 범위는 변수가 선언된 파일로 제한됩니다. 즉, 변수는 "파일 수준 범위"이므로 " 중복 정의" 변수 문제 2. 수명주기, 정적 변수는 프로그램 실행을 시작할 때 한 번 초기화되고 프로그램이 끝나면 소멸됩니다.

1. static 먼저 다음 프로그램을 살펴보십시오. publicclassHello{publicstaticvoidmain(String[]args){//(1)System.out.println("Hello, world!");//(2)}} 이것을 보았습니다. 세그먼트 프로그램은 Java를 공부한 대부분의 사람들에게 친숙합니다. Java를 배우지 않았지만 C 등 다른 고급 언어를 배웠더라도 이 코드의 의미를 이해할 수 있어야 합니다. 단순히 "Hello, world"를 출력하고 다른 용도는 없습니다. 그러나 정적 키워드의 주요 목적을 보여줍니다.

C 언어 static 키워드의 실제 응용 시나리오 및 활용 기술 1. 개요 static은 C 언어에서 변수와 함수를 수정하는 데 사용되는 키워드입니다. 그 기능은 프로그램 실행 중에 수명 주기와 가시성을 변경하여 변수와 함수를 정적으로 만드는 것입니다. 이 기사에서는 static 키워드의 실제 응용 시나리오와 사용 기술을 소개하고 구체적인 코드 예제를 통해 설명합니다. 2. 정적 변수는 변수의 수명 주기를 연장합니다. static 키워드를 사용하여 지역 변수를 수정하면 수명 주기가 연장됩니다.
