Paano Gamitin ang Java.lang.Class.getMethod() Method?

Paano Gamitin Ang Java Lang Class Getmethod Method



Ginagamit ng mga programmer ang ' java.lang.Class.getMethod() ” paraan upang makuha ang isang bagay na kumakatawan sa isang partikular na pampublikong pamamaraan na idineklara ng mga super class. Ang pamamaraang ito ay nagbibigay-daan sa dynamic na pagsusuri at pagmamanipula ng mga klase, interface, pamamaraan, at iba pang mga entity sa runtime. Nangangahulugan ito na hindi kailangang malaman ng programmer ang tungkol sa compile-time na kaalaman ng istraktura ng klase.

Nag-aalok ang gabay na ito ng detalyadong paliwanag sa paggamit ng java.lang.class.getMethod() na pamamaraan sa Java.







Paano Gamitin ang Java.lang.Class.getMethod() Method?

Ang getMethod() method ay bahagi ng reflection API ng Java, na nag-aalok ng mga programmer na mag-inspeksyon at mag-invoke ng mga pamamaraan nang pabago-bago. Pinapayagan nito ang mga programmer na tumawag sa mga pamamaraan na may iba't ibang mga pangalan o lagda depende sa mga kondisyon ng runtime.



Syntax



Ang syntax para sa ' getMethod() ” paraan sa wikang Java ay ipinapakita sa ibaba:





pampublikong Pamamaraan getMethod ( String na napilingmethodName, Class [ ] Uri ng parameter )
itinapon ang NoSuchMethodException, SecurityException

Paglalarawan ng syntax sa itaas:



  • Tumatanggap ito ng dalawang parameter na tumutukoy sa napiling pangalan ng pamamaraan at katumbas na array ng uri ng parameter.
  • Ibinabalik nito ang hiniling na paraan ng klase.
  • Ang pamamaraang ito ay nagtatapon ng ' NoSuchMethodException 'at' SecurityException ” pagbubukod ayon sa sitwasyon

Ngayon, bisitahin natin ang halimbawa sa ibaba, para mas maunawaan ang Java.lang.Class.getMethod() na pamamaraan.

Halimbawa: Paggamit ng getMethod() Method

Upang gumamit ng ' getMethod() ” para sa pagkuha ng data tungkol sa isang partikular na paraan, tingnan ang ibaba ng block ng code:

import java.util. * ;

Pampublikong Class UseCase {
natatangi ang public void ( ) { }
pampublikong static void main ( String [ ] args ) // paglikha ng pangunahing ( ) paraan
itinapon ang ClassNotFoundException, NoSuchMethodException
{
Class newcl = Class.forName ( 'UseCase' ) ;
System.out.println ( 'Klase na kinilala ng newcl: ' ' + newcl.toString ( ) + ''' ) ;

String mname = 'natatangi' ;
Klase [ ] pType = null;
// paggamit ng getMethod ( ) paraan
System.out.println ( ''' masaya ako '' Paraan ng newcl: ' ' + newcl.getMethod ( mname, pType ) + ''' ) ;
}
}

Paglalarawan ng block ng code sa itaas:

  • Una, lumikha ng isang klase na pinangalanang ' UseCase ”, at magdeklara ng pampublikong pamamaraan na pinangalanang “ kakaiba() ”.
  • Susunod, magdeklara ng dalawang eksepsiyon na maaaring ihagis ng programa sa loob ng ' pangunahing() ” paraan.
  • Ngayon, gamitin ang ' forName() 'paraan para mabawi ang klase' UseCase ”. Pagkatapos nito, ibalik ang class object na naka-link sa ibinigay na pangalan ng klase at ipakita ang nakuhang klase sa console.
  • Pagkatapos, iimbak ang kinakailangang pangalan ng pamamaraan bilang isang halaga sa ' masaya ” variable. Gayundin, itakda ang halaga ng ' wala ' sa ' pUri ” variable na nagpapahiwatig na ang paraan na kukunin ay walang anumang mga parameter.
  • Pagkatapos nito, tawagan ang ' getMethod() 'paraan gamit ang ' nuklear ” object at ipasa ang mga variable na “mname” at “pType” bilang isang parameter. Sa huli, hina-highlight ang impormasyon tungkol sa gustong paraan sa console.

Pagkatapos ng pagtatapos ng yugto ng pagpapatupad:

Ipinapakita ng snapshot na ang getMethod() na pamamaraan ay ginagamit para sa pagkuha ng napiling impormasyon ng pamamaraan.

Konklusyon

Tatlong eksepsiyon' NoSuchMethodException ”, “ NullPointerException 'at' SecurityException 'ay maaaring ihagis sa pamamagitan ng paggamit ng ' java.lang.Class.getMethod() ” paraan. Ang pamamaraang ito ay mahalaga para sa dynamic na paraan ng invocation, at reflection-based na programming. At sa mga sitwasyon kung saan ang programmer ay kailangang tumuklas at makipag-ugnayan sa mga pamamaraan sa runtime. Iyon lang, tungkol sa paggamit ng java.lang.Class.getMethod() na pamamaraan sa Java.