PHP类的静态(static)方法和静态(static)变量,phpstatic
PHP类的静态(static)方法和静态(static)变量,phpstatic
在php中,访问类的方法/变量有两种方法:
1. 创建对象$object = new Class(),然后使用”->”调用:$object->attribute/function,前提是该变量/方法可访问。
2. 直接调用类方法/变量:class::attribute/function,无论是静态/非静态都可以。但是有前提条件:
A. 如果是变量,需要该变量可访问。
B. 如果是方法,除了该方法可访问外,还需要满足:
b1) 如果是静态方法,没有特殊条件;
b2) 如果是非静态方法,需要改方法中没有使用$this,即没有调用非静态的变量/方法,当然,调用静态的变量/方法没有问题。
然后我们再看一下使用$object->… 和使用class::… 都有什么区别:
1. 使用$object->… ,需要执行构造函数创建对象;
2. 使用class::… 调用静态方法/变量,不需要执行构造函数创建对象;
3. 使用class::… 调用非静态方法/变量,也不需要执行构造函数创建对象。
然后奇怪的地方就出来了,既然2和3都一样,那静态方法/变量存在还有什么意义呢?
差异还是显然存在的,如下:
1. 静态变量
静态成员只保留一个变量值,而这个变量值对所有的实例都是有效,也就是说,所有的实例共享这个成员。
2. 静态方法
静态方法可以直接使用class::… 来调用,而非静态方法需要满足一定限制条件才能使用class::.. 的方法调用,如之前所述

핫 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)

뜨거운 주제











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 키워드를 사용하여 지역 변수를 수정하면 수명 주기가 연장됩니다.

Modifier abstract (추상) 1. Abstract는 클래스를 수정할 수 있습니다. (1) abstract로 수정한 클래스를 추상 클래스라고 합니다. (2) 문법: abstractclass 클래스 이름 {} (3) 특징: 추상 클래스는 객체를 별도로 생성할 수는 없지만 객체를 생성할 수는 있습니다. 선언됨 추상 클래스 클래스 이름 참조 이름; (4) 추상 클래스는 멤버 변수 및 멤버 메소드를 정의할 수 있습니다. (5) 추상 클래스에는 생성자가 있습니다. 하위 클래스 객체를 생성하는 데 사용되면 jvm은 기본적으로 상위 클래스 객체를 생성합니다. 적용 jvm이 상위 클래스 객체를 생성할 때 적용됩니다. 2. Abstract는 메서드를 수정할 수 있습니다. (1) asbtract로 수정된 메서드를 추상 메서드라고 합니다. (2) 구문: 액세스 한정자 추상 반환 값

정적 기능: 1. 변수 3. 클래스 4. 기타 용도 6. 싱글톤 모드 9. 로컬 변수 메모리 레이아웃 최적화; 11. 반복적인 초기화를 피하십시오. 12. 함수에 사용하십시오. 자세한 소개: 1. 변수, 정적 변수. 변수가 정적으로 선언되면 인스턴스 수준이 아닌 클래스 수준에 속합니다. 즉, 개체 수에 관계없이 정적 변수는 하나만 존재하며 모든 개체가 존재합니다. 이 정적 변수 등을 공유하십시오.

PHP 정적 정적 메서드의 "정적"은 클래스를 인스턴스화하지 않고도 이러한 속성과 메서드를 직접 호출할 수 있음을 의미합니다. static은 클래스의 속성과 메서드를 수정하는 데 사용되는 키워드이며 사용 구문은 "class Foo { 공개 정적 $my_static = 'hello';}".

Springboot는 pro 파일을 읽고 정적 정적 변수 mailConfig.properties#Server mail.host=smtp.qq.com#포트 번호 mail.port=587#이메일 계정 mail.userName=hzy_daybreak_lc@foxmail.com#이메일 인증 코드 메일을 주입합니다. passWord =vxbkycyjkceocbdc#시간 지연 mail.timeout=25000#Sender mail.emailForm=hzy_daybreak_lc@foxmail.com#Sender mai

PHP는 웹 개발에 널리 사용되는 인기 있는 오픈 소스 서버 측 스크립팅 언어입니다. PHP 언어는 배우고 사용하기 쉬울 뿐만 아니라 다양한 프로그래밍 패러다임, 객체지향 프로그래밍, 함수형 프로그래밍 등을 지원합니다. PHP에는 Static, Final, Abstract 등과 같은 몇 가지 특수 구문 키워드가 있습니다. 이러한 키워드는 객체 지향 프로그래밍에서 특별한 기능을 가지고 있습니다. 이 기사에서는 이러한 키워드를 자세히 소개합니다. 정적 키워드 PHP에서 정적 키워드는 두 가지 용도로 사용됩니다.
