2013-03-10 5 views
-3

this highly voted answer on SO에 따르면 파이썬은 언어 설계자가 this을 통해 Java에서 행해진 것처럼 인스턴스화하는 객체의 공제를 막으려 고하기 때문에 인스턴스 메소드에서 self을 필수로 선언했습니다."this"in Java의 공제?

"this"은 Java에서 추론 할 수 있습니까?

+5

원래 대답에 댓글을 달아서 왜 그가 의미 한 바를 물어 보지 않으시겠습니까? –

+0

@MattBall S.Lott이 마지막으로 SO를 2 개월 방문했기 때문에 – Inquisitive

답변

3

한정자없이 식별자를 Java (예 : something)에서 참조하는 경우 컴파일러는 해당 이름의 로컬 변수가 있는지 여부를 확인하고 그렇지 않은 경우 해당 필드가 필드 여야한다고 추론합니다.

2

원본 게시물에 따르면 어떤 경우 Java에서는 'this'를 사용하여 어떤 변수를 참조해야하는지 알 수 있습니다. 예를 들면 다음과 같습니다.

public class A { 

    private String b; 
    private String c; 

    public void setB(String b) { 
     this.b = b; // <-- this removes confusion for Java 
    } 

    public void setC(String _c) { 
     c = _c; // <-- this is not needed here 
    } 

}