Java getMethod() ialah kaedah dalam java.lang.Class.getMethod() yang mengembalikan contoh kelas Kaedah dalam pakej java.lang.reflect yang memegang rujukan fungsi ahli awam yang diberikan dalam rujukan objek Kelas yang diberikan kepada kelas atau antara muka. Kaedah ini mengambil nama kaedah yang perlu diluluskan sebagai parameter pertamanya. Parameter kedua yang akan diluluskan ialah tatasusunan objek Kelas yang menentukan jenis data parameter formal kaedah yang dikembalikan atau tatasusunan kosong yang menentukan null sebagai paramterTypes. Algoritma carian yang digunakan dalam ini adalah sama seperti kaedah GetPublicMethods() peribadi.
IKLAN Kursus Popular dalam kategori ini JAVA MASTERY - Pengkhususan | 78 Siri Kursus | 15 Ujian Olok-olokMulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
getMethod() membuang 3 jenis pengecualian seperti yang diberikan di bawah:-
Di bawah ialah tandatangan getMethod java.lang.Class
public Method getMethod(String name, Class<?>... parameterTypes) throws NoSuchMethodException, SecurityException
Contoh
Jika kami mempunyai Demo kelas seperti yang diberikan di bawah:
class Demo{ public void method1(String a){ System.out.println(a); } }
Kemudian panggilan untuk mendapatkanMethod akan menjadi seperti:
Demo demoObj= new Demo();// Object of Demo class Class cObj= demoObj.getClass() Class [] carr = new Class[1]; carr[0] = String.class;// class reference to java.lang.String class stored In the array of type Class Method mObj = cObj.getMethod("method1",carr);
getMethod() mengembalikan contoh Kaedah kepada kaedah yang ditentukan dalam kelas rujukan atau objek antara muka.
Sekiranya ia menjumpai kaedah, ia mengembalikan contoh Kelas Kaedah yang memegang rujukannya.
Jika kaedah yang ditentukan tidak memerlukan sebarang hujah, maka null diluluskan sebagai ganti parameterType. Ini membantu dalam kes kelebihan beban kaedah, di mana kami mempunyai lebih daripada satu kaedah dengan nama yang sama tetapi berbeza dalam bilangan atau jenis data argumen. Kaedah ini membuang 3 jenis pengecualian:-
1. NoSuchMethodException: Jenis pengecualian ini dilemparkan apabila JVM tidak dapat mencari sebarang kaedah dengan nama yang ditentukan dalam kelas atau antara muka.
2. SecurityException: Pengecualian jenis ini dilemparkan apabila
3. NullPointerException: Ini dilemparkan jika null diluluskan sebagai ganti nama kaedah dalam argumen.
Di bawah adalah contoh yang dinyatakan:
Dalam contoh ini, kami akan menunjukkan output panggilan getMethod kepada dua kaedah kelas Office, satu yang memerlukan objek dan satu lagi tidak memerlukan hujah.
//package Proc; import java.lang.reflect.*; class Office{ public String OfficeLocation() { return location; } public String getEmpName(Integer eid) { return"Sergio"; } String location = "Bangalore"; } public class prac1 { public static void main(String[] args) { Office ofc = new Office(); Class cObj = ofc.getClass(); Class[] carr = new Class[1]; carr[0] = Integer.class; try { Method meth = cObj.getMethod("OfficeLocation", null); System.out.println("Method with specified name is = " + meth.toString()); } catch(NoSuchMethodException e) { System.out.println(e.toString()); } try { Method meth = cObj.getMethod("getEmpName", carr); System.out.println("Method with specified name is = " + meth.toString()); } catch(NoSuchMethodException e) { System.out.println(e.toString()); } } }
Output:
Dalam contoh ini, kita akan melihat sama ada JVM dapat mencari kaedah persendirian ialah kelas dengan nama yang diberikan.
//package Proc; import java.lang.reflect.*; public class prac1 { public static void main(String[] args) { Office ofc = new Office(); Class cObj = ofc.getClass(); try { Method meth = cObj.getMethod("OfficeLocation", null); System.out.println("Method with specified name is = " + meth.toString()); } catch(NoSuchMethodException e) { System.out.println(e.toString()); } } } class Office{ private String OfficeLocation() { return location; } public String getEmpName(Integer eid) { return "Sergio"; } String location = "Bangalore"; }
Output:
In this example , we will see how different exceptions occur when a non-existing method is called, and null is passed in the method’s name.
//package Proc; import java.lang.reflect.*; class Office{ public String OfficeLocation() { return location; } public String getEmpName(Integer eid) { return "Sergio"; } String location = "Bangalore"; } public class prac1 { public static void main(String[] args) { Office ofc = new Office(); Class cObj = ofc.getClass(); Class[] carr = new Class[1]; carr[0] = Integer.class; try { Method meth = cObj.getMethod("show", null); System.out.println("Method found " + meth.toString()); } catch(NoSuchMethodException e) { System.out.println(e.toString()); } try { Method meth = cObj.getMethod(null, carr); System.out.println("Method found" + meth.toString()); } catch(NoSuchMethodException e) { System.out.println(e.toString()); }catch(NullPointerException e) { System.out.println(e.toString()); } } }
Output:
Java.lang.getMethod() is a method used to search if a method with the given name and type of arguments is present in the class or not. It uses the same algorithm to find the method used in the privateGetPublicMethods() method. JVM search for the given public method and returns a Method instance; otherwise, NoSuchMethodException is raised.
Atas ialah kandungan terperinci Java getMethod(). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!