PHP 의 static 과 자바 의 static 의 대비
public class MyStatic {
public static String className = "MyStatic";
public static void getClassName() {
// className ,
System.out.println(MyStatic.className);
}
public static void main(String[] args) {
//
System.out.println(MyStatic.className);
//
System.out.println((new Mystatic()).className);
//
Mystatic.getClassName();
//
(new Mystatic()).getClassName();
//=========
(new Mystatic()).className = "new class name";
//=========
//
System.out.println(MyStatic.className);
//
System.out.println((new Mystatic()).className);
//
Mystatic.getClassName();
//
(new Mystatic()).getClassName();
}
}
주의 하 세 요. 자바 의 정적 변 수 는 대상 의 접근 을 금지 하지 않 습 니 다. 그러나 PHP 와 달리 PHP 의 정적 방법 은 대상 에 의 해 호출 될 수 있 지만, 클래스 의 정적 변 수 는 클래스 의 방법 으로 만 접근 할 수 있 습 니 다. 대상 은 직접 접근 할 수 없습니다.
class Mystatic {
public static $className = __CLASS__;
public static function getClassName() {
echo self::$className;
}
}
echo Mystatic::$className;
Mystatic::getClassName();
//but
(new Mystatic())->className;//error
//but
(new Mystatic())->getClassName();
// , ,
Mystatic::$className = "new class Name";
(new Mystatic())->getClassName();
따라서 PHP 의 대상 이 클래스 의 정적 변 수 를 방문 하려 면 인터페이스 에 의존 해 야 합 니 다. 클래스 에서 정적 변 수 를 방문 하 는 방법 을 써 야 합 니 다. 자바 처럼 직접 사용 할 수 없습니다. 문법 류 와 대상 은 모두 접근 할 수 있 습 니 다.
Java:
정적 속성 클래스 와 대상 모두 접근 가능
정적 방법 클래스 와 대상 모두 접근 가능
PHP:
정적 속성 클래스 에 접근 할 수 있 습 니 다. 대상 은 인 터 페 이 스 를 통 해 접근 해 야 합 니 다.
정적 방법 클래스 접근 가능, 대상 호출 접근 가능
그러나 정적 방법 은 구성원 변 수 를 방문 할 수 없고 정적 속성 만 접근 할 수 있 습 니 다!!!!!!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
laravel에 yo에서 angularJs&coffeescript를 사용할 수 있도록 한다.먼저 yo 명령을 사용할 수 있어야하므로 아래에서 설치 global에 설치한 곳에서 laravel의 프로젝트 루트로 이동. 클라이언트 코드를 관리하는 디렉토리를 만들고 이동합니다. 클라이언트 환경 만들기 이것으로 히...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.