การอ้างอิงวิธีการใหม่ของ Java 8
สำหรับการอ้างอิงโดยทั่วไปเราใช้กับวัตถุและลักษณะของการอ้างอิงวัตถุคือวัตถุอ้างอิงที่แตกต่างกันสามารถทำงานบนเนื้อหาชิ้นเดียวกัน!
การอ้างอิงวิธี Java 8 กำหนดสี่รูปแบบ:
ตัวอย่างการอ้างอิงวิธีการคงที่
/*** การอ้างอิงวิธีการคงที่* @param <p> ประเภทพารามิเตอร์ของวิธีการอ้างอิง* @param <r> ประเภทวิธีการอ้างอิง* / @functionalinterfaceinterface funstaticref <p, r> {public r trantest (p p); FunStaticRef#วิธีการ trantest*/ funstaticref <จำนวนเต็ม, สตริง> funstaticref = string :: valueof; String str = funstaticref.trantest (10,000); System.out.println (str.replaceall ("0", "9"));}
ตัวอย่างการอ้างอิงวิธีการวัตถุ
/*** การอ้างอิงวิธีการปกติ* @param <r> วิธีการอ้างอิงประเภทส่งคืนประเภท*/ @functionalinterfaceinterface instanref <r> {สาธารณะ r uppercase ();} โมฆะคงที่สาธารณะหลัก (สตริง [] args) {/** การอ้างอิงวิธีการทั่วไป: สตริงสาธารณะ touppercase () InstanRef <String> InstanRef = str2 :: touppercase; System.out.println (Instanref.uppercase ());} ตัวอย่างการอ้างอิงวิธีการประเภทเฉพาะ
ใบเสนอราคาของวิธีการเฉพาะนั้นยากที่จะเข้าใจ มันหมายถึงวิธีการทั่วไป แต่วิธีการอ้างอิงคือ: className :: methodName
/** * การอ้างอิงถึงวิธีการเฉพาะ * @param <p> * / @functionalinterfaceinterface specialmethodref <p> {int สาธารณะเปรียบเทียบ (p p1, p p2);} โมฆะคงที่สาธารณะหลัก (สตริง [] args) { / * * การอ้างอิงถึงวิธีการที่เฉพาะเจาะจง การกำหนดวัตถุบนพารามิเตอร์! */ specialMetHodref <String> specialMetHodref = string :: compareto; System.out.println (specialmethodref.compare ("a", "b")); ConstructorRef <Book> ConstructorRef = หนังสือ :: ใหม่; หนังสือหนังสือ = ConstructorRef.CreateObject ("Java", 100.25); System.out.println (หนังสือ);}ตัวอย่างของการอ้างอิงตัวสร้าง
หนังสือชั้นเรียน {ชื่อสตริงส่วนตัว; ราคาสองเท่าส่วนตัว หนังสือสาธารณะ () {} หนังสือสาธารณะ (ชื่อสตริงราคาคู่) {this.price = ราคา; this.title = title; } @Override สตริงสาธารณะ toString () {return "หนังสือ {" + "title = '" title +'/'' + ", price =" + price + '}'; }} โมฆะคงที่สาธารณะหลัก (สตริง [] args) { / * * constructorref <book> constructorref = หนังสือ :: ใหม่; หนังสือหนังสือ = ConstructorRef.CreateObject ("Java", 100.25); System.out.println (หนังสือ);}โดยทั่วไปแล้วคุณสมบัติใหม่บางอย่างของ Java 8 ยังไม่ได้ใช้ในโครงการที่ใช้อยู่ในปัจจุบัน แต่หลังจากเรียนรู้คุณจะไม่เห็นรหัสของคุณสมบัติใหม่ของ Java 8 และไม่รู้ว่ามีอะไรผิดปกติ!
ขอบคุณสำหรับการอ่านฉันหวังว่ามันจะช่วยคุณได้ ขอบคุณสำหรับการสนับสนุนเว็บไซต์นี้!