วิธีการใช้ Java.lang.Class.getMethod() วิธีการ?

Withi Kar Chi Java Lang Class Getmethod Withi Kar



โปรแกรมเมอร์ใช้ ' java.lang.Class.getMethod() ” วิธีการดึงวัตถุที่แสดงถึงวิธีการสาธารณะเฉพาะที่ประกาศโดยซุปเปอร์คลาส วิธีนี้ช่วยให้ตรวจสอบแบบไดนามิกและจัดการคลาส อินเทอร์เฟซ เมธอด และเอนทิตีอื่นๆ ขณะรันไทม์ได้ ซึ่งหมายความว่าโปรแกรมเมอร์ไม่จำเป็นต้องรู้เกี่ยวกับความรู้เวลาคอมไพล์ของโครงสร้างคลาส

คู่มือนี้มีคำอธิบายโดยละเอียดเกี่ยวกับการใช้เมธอด java.lang.class.getMethod() ใน Java







วิธีการใช้ Java.lang.Class.getMethod() วิธีการ?

เมธอด getMethod() เป็นส่วนหนึ่งของการสะท้อน API ของ Java ซึ่งให้โปรแกรมเมอร์ตรวจสอบและเรียกใช้เมธอดแบบไดนามิก อนุญาตให้โปรแกรมเมอร์เรียกเมธอดด้วยชื่อหรือลายเซ็นที่แตกต่างกันขึ้นอยู่กับเงื่อนไขรันไทม์



ไวยากรณ์



ไวยากรณ์สำหรับ ' getMethod() วิธีการ ” ในภาษา Java แสดงไว้ด้านล่าง:





วิธีสาธารณะ getMethod ( สตริงที่เลือกmethodName, Class [ ] ประเภทพารามิเตอร์ )
ส่ง NoSuchMethodException, SecurityException

คำอธิบายของไวยากรณ์ข้างต้น:



  • ยอมรับพารามิเตอร์สองตัวที่ระบุชื่อเมธอดที่เลือกและอาร์เรย์ประเภทพารามิเตอร์ที่สอดคล้องกัน
  • มันส่งคืนวิธีการที่ร้องขอของชั้นเรียน
  • วิธีการนี้จะทำให้ “ ไม่มีข้อยกเว้นวิธีการดังกล่าว ' และ ' ข้อยกเว้นด้านความปลอดภัย ” ข้อยกเว้นตามสถานการณ์

ตอนนี้ ให้เราไปที่ตัวอย่างด้านล่าง เพื่อทำความเข้าใจเกี่ยวกับเมธอด Java.lang.Class.getMethod() ให้ดียิ่งขึ้น

ตัวอย่าง: การใช้เมธอด getMethod()

เพื่อใช้ประโยชน์จาก “ getMethod() ” วิธีการดึงข้อมูลเกี่ยวกับวิธีการเฉพาะ ดูบล็อกรหัสด้านล่าง:

นำเข้า java.util * ;

UseCase ระดับสาธารณะ {
โมฆะสาธารณะที่ไม่ซ้ำกัน ( ) { }
โมฆะสาธารณะคงหลัก ( สตริง [ ] หาเรื่อง ) // การสร้างหลัก ( ) วิธี
ส่ง ClassNotFoundException, NoSuchMethodException
{
คลาส newcl = คลาสสำหรับชื่อ ( 'กรณีการใช้งาน' ) ;
System.out.println ( 'คลาสที่ระบุโดย newcl: ' ' + newcl.toString ( ) + ''' ) ;

ชื่อสตริง = 'มีเอกลักษณ์' ;
ระดับ [ ] pType = null;
// การใช้ getMethod ( ) วิธี
System.out.println ( ''' ฉันมีความสุข '' วิธีการของ newcl:' ' + newcl.getMethod ( ชื่อ, pType ) + ''' ) ;
}
}

คำอธิบายของบล็อกรหัสด้านบน:

  • ขั้นแรก สร้างคลาสชื่อ “ กรณีการใช้งาน ” และประกาศวิธีสาธารณะชื่อ “ มีเอกลักษณ์() '.
  • ถัดไป ประกาศข้อยกเว้นสองข้อที่โปรแกรมสามารถโยนทิ้งได้ภายใน “ หลัก() ' วิธี.
  • ตอนนี้ ใช้ “ สำหรับชื่อ() ” วิธีการดึงคลาส “ กรณีการใช้งาน '. หลังจากนั้น ส่งคืนคลาสอ็อบเจกต์ที่เชื่อมโยงกับชื่อคลาสที่ให้มา และแสดงคลาสที่ดึงมาบนคอนโซล
  • จากนั้น เก็บชื่อเมธอดที่ต้องการเป็นค่าใน ' มีความสุข ' ตัวแปร. นอกจากนี้ ตั้งค่าของ “ โมฆะ ” ถึง “ pประเภท ” ตัวแปรซึ่งระบุว่าเมธอดที่จะดึงข้อมูลไม่มีพารามิเตอร์ใดๆ
  • หลังจากนั้นโทรหา “ getMethod() ” วิธีการโดยใช้ “ นิวเคลียร์ ” วัตถุและส่งตัวแปร “mname” และ “pType” เป็นพารามิเตอร์ ในตอนท้าย เน้นข้อมูลเกี่ยวกับวิธีการที่ต้องการบนคอนโซล

หลังจากสิ้นสุดขั้นตอนการดำเนินการ:

ภาพรวมแสดงให้เห็นว่าเมธอด getMethod() ใช้สำหรับดึงข้อมูลเมธอดที่เลือก

บทสรุป

ข้อยกเว้น 3 ประการ “ ไม่มีข้อยกเว้นวิธีการดังกล่าว ”, “ NullPointerException ' และ ' ข้อยกเว้นด้านความปลอดภัย ” สามารถโยนได้โดยใช้ “ java.lang.Class.getMethod() ' วิธี. เมธอดนี้มีประโยชน์สำหรับการเรียกใช้เมธอดแบบไดนามิก และการเขียนโปรแกรมตามการสะท้อนกลับ และในสถานการณ์ที่โปรแกรมเมอร์ต้องการค้นหาและโต้ตอบกับเมธอดในขณะรันไทม์ นั่นคือทั้งหมดเกี่ยวกับการใช้เมธอด java.lang.Class.getMethod() ใน Java