2013-10-08 3 views
0

나는 종종 다음과 같은 코드를 볼 수 지?혼란 메소드를 호출하는 메소드를 호출하는 객체는

감사합니다.

+0

. 아니면 어떤 아이디어가 있습니까? –

+0

정적 객체를 정적 클래스 –

+0

으로 대체하거나 "메서드 y를 호출하는 정적 객체"대신 "클래스 X의 정적 메소드 y를 호출"하면 "예"가됩니다. –

답변

1

정적 개체는 y을 호출하지 않지만 클래스에서 정적으로 메서드 y이 호출됩니다. 그걸 제외하고, 당신 말이 맞아.

+0

일 수도 있습니다. * X *가 정적이라는 증거는 없습니다. * y *가 정적이라고 말할 수 있습니다. –

+1

오른쪽! X는 정적이 아닐 것입니다 – Evert

0

그것은 다음과 같을 수 있습니다 :

당신은 개체에 정적 메서드 Y()를 호출
class X { 
    public static function y(){ 
    return new self(); 
    } 

    public function z(){ 

    } 
} 
+1

* y() * 무엇이든 반환 할 수 있습니다 –

+1

@ Lame-up-duck 감사합니다. 그것은 단지 가장 짧은 예일뿐입니다. – vikingmaster

+0

내 의견이 cpt 인 것 같아서 죄송합니다. 명백한 cite :). 나는 당신의 대답이 정확하다고 생각하지만이 질문에 대해서는 그렇지 않습니다. –

0

X 다음 호출하는 Z()에서 반환 된 결과 객체에 방법 y()

0

정적 메서드 호출 일 수도 있고 그렇지 않을 수도 있습니다. 인스턴스화 된 클래스 내부에서 호출이 이루어지고 X이 해당 클래스의 부모 인 경우 해당 호출 이 비 정적 일 수 있습니다.

확실한 것은 확실합니다. X::y()은 개체를 반환합니다.

관련 문제