Java 8의 명시적 수신자 매개변수(this)
ปกติ ปกติ ปกติ เวลา แล้ว แล้ว ที่ ที่ เป็น 인스턴스 메소드 (ที่ ไม่ ไม่ ใช่ ใช่ 정적) จาวา คอมไพล์เลอร์ คอมไพล์เลอร์ จะ ใส่ 암시 적 수신 매개 변수 ที่ ตำแหน่ง 0 หมาย ถึง ถึง ถึง 인스턴스 객체 (แทน ด้วย ด้วย this)
เช่น เช่น มี ถ้า ถ้า
int getAge()
เวลา เวลา คอมไพล์ ออก ออก มา จะ จะ ได้ getAge(Person p)
เพื่อ ที่ จะ ได้ ได้ เรียกเมธอด เรียกเมธอด เรียกเมธอด getage () ใน 컨텍스트 ของ 객체 ใด ๆ ๆ ๆ โดย คอมไพเลอร์ จัด การ ให้ และ ไม่ ยอม ยอม ยอม ให้ เรา ใส่ เอง เอง การ จัดclass Person{
int getAge(){..}
\\คอมไพล์แล้วจะได้แบบนี้นะ(ใน bytecode อยู่ลำดับแรกของพารามิเตอร์)
int getAge(Person p){...}
}
แต่ แต่ แต่ แต่ java 8 เพิ่ม เพิ่ม ฟีเจอร์ ฟีเจอร์ ใหม่ มา ทำ ให้ ให้ เรา สามารถ ประกาศ ประกาศ เมธอด ที่ มี 수신 매개 변수 ได้ (แต่ ตอน 호출 방법 จะ ระบุ ไม่ ไม่ ได้ เดิม เดิม)
สาเหตที่เพิ่มาเพราะเพื่อให้เราเพิ่ม 주석 เข้าไปตรง 수신자 매개변수 ได้
โดย เราสามารถ 반사 เอา 주석 ได้จาก
Method.getAnnotatedReceiverType()
class Person {
int age;
public int getAge(@MyAnnotation Person this) {
return this.age;
}
public void setAge(Person this, int age) {
this.age = age;
}
}
public class App {
public static void main(String[] args) {
Person p = new Person();
p.setAge(10);
p.getAge();
}
}
Python을 사용하여 명시적 수신자(self)를 수신할 수 있습니다.
참조::https://blog.joda.org/2015/12/explicit-receiver-parameters.html
Reference
이 문제에 관하여(Java 8의 명시적 수신자 매개변수(this)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/pramoth/explicit-receiver-parameterthis-in-java-8-2ojk텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)