>  기사  >  백엔드 개발  >  정적 키워드에 대한 포괄적인 이해

정적 키워드에 대한 포괄적인 이해

小云云
小云云원래의
2018-03-08 09:12:281786검색


정적 키워드는 정적 또는 전역을 의미하며 클래스, 메서드 및 변수를 수정하는 데 사용할 수 있습니다. 일반적으로 우리는 클래스 멤버나 정적 변수에 대해 듣습니다(즉, 로드 후에도 변경되지 않습니다). 정적 멤버가 로드되면 변경되지 않습니다. 예를 들어 문자열 문자열은 초기화된 후에 해당 값을 변경하지 않습니다. 일반적으로 개발 중에는 공유 멤버를 정적으로 수정합니다.

1. 가장 일반적인 것은 다음과 같습니다. 멤버 변수를 수정하는 데 사용됩니다(클래스의 멤버로 전환). 예: 프로그램 상태 및 예외 정보. (이 두 가지는 일반적으로 개발에서 매우 일반적인 static 및 final과 함께 수정됩니다.)

2. 멤버 메소드를 수정하고 이를 클래스 메소드로 변환하는 데 사용됩니다. 이는 도구 클래스에서 자주 사용되는 "type.method 이름"을 사용하여 호출할 수 있습니다. (즉, 객체를 생성할 필요가 없습니다)

3. 정적 코드 블록, 여러 객체를 모아서 초기화합니다 (정적 코드 블록은 먼저 정적 변수 다음에 실행됩니다)

정적 변수

다음에 이야기하겠습니다. 정적 변수(정적으로 수정됨)와 인스턴스 변수(정적 변수로 수정되지 않음)의 차이점:

1. 정적 변수: 메모리의 복사본일 뿐이며 한 번만 초기화되고 메모리를 한 번만 할당할 수 있습니다. 유형별로 직접 액세스할 수도 있으며, 객체를 생성하여 액세스할 수도 있습니다.

2. 인스턴스 변수: 객체가 호출될 때 생성되어야 하며, 메모리는 생성되기 전에 한 번 할당되어야 하지만 서로 영향을 미치지 않습니다.

정적 메서드

정적 메서드는 클래스 이름을 통해 직접 호출할 수 있고, 인스턴스도 직접 호출할 수 있습니다. 따라서 super 및 this 키워드는 정적 메소드에 존재할 수 없습니다(만약 존재한다면 불량배가 되는 것과 같지 않을까요? 인스턴스 변수는 특정 객체와 연관되어 있습니다).

관련 추천:

PHP에서 static 키워드 사용에 대한 자세한 설명

new self()와 new static()의 차이점은 무엇입니까

static과 self의 차이점에 대한 자세한 설명 PHP

위 내용은 정적 키워드에 대한 포괄적인 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.