java關(guān)于調(diào)用方法的匯總
以下我們根據(jù)JAVA的調(diào)用方法做了整理和總結(jié),以及相關(guān)的調(diào)用代碼也做測(cè)試,以下來(lái)學(xué)習(xí)下。
java方法主要分為三種:
一種是靜態(tài)方法
這種方法的話用static修飾,這個(gè)方法不需要與某個(gè)特定對(duì)象進(jìn)行綁定;第二種就是常見(jiàn)的沒(méi)有用static修飾的方法;第三種就是構(gòu)造方法,構(gòu)造方法主要用于對(duì)類進(jìn)行初始化。
靜態(tài)方法可以使用一個(gè)定義且實(shí)例化過(guò)的對(duì)象來(lái)調(diào)用也可以直接使用類名來(lái)調(diào)用。
實(shí)例方法必須使用一個(gè)被定義且實(shí)例化過(guò)的對(duì)象來(lái)調(diào)用。
class A{ //靜態(tài)方法,可以使用類名點(diǎn)方法名直接調(diào)用,比如A.sayHello() public static void sayHello(){ System.out.println("靜態(tài)方法輸出成功:Hello"); } //實(shí)例方法,必須創(chuàng)建類的實(shí)例,然后才能調(diào)用A a = new A(); a.sayWorld(); public void sayWorld(){ System.out.println("實(shí)例方法輸出成功:World"); } } public class MyDemo { public static void main(String[] args) { A a = null; try{ a.sayHello();//調(diào)用靜態(tài)方法 }catch(NullPointerException e){ System.out.println("調(diào)用靜態(tài)方法出現(xiàn)了空指針異常"); } try{ a.sayWorld();//調(diào)用實(shí)例方法 }catch(NullPointerException e){ System.out.println("調(diào)用實(shí)例方法出現(xiàn)了空指針異常"); } } }
測(cè)試輸出:
靜態(tài)方法輸出成功:Hello
調(diào)用實(shí)例方法出現(xiàn)了空指針異常
Java動(dòng)態(tài)調(diào)用類中方法代碼
使用Math.class.getDeclaredMethod("sin", Double.TYPE);訪問(wèn)指定的方法,其中”sin”表示要訪問(wèn)的方法的名稱為sin,Double.TYPE表示入口參數(shù)的類型為double
import java.lang.reflect.Method; public class DongTai { public static void main(String[] args) { try { System.out.println("調(diào)用Math類的靜態(tài)方法sin()"); Method sin = Math.class.getDeclaredMethod("sin", Double.TYPE); Double sin1 = (Double) sin.invoke(null, new Integer(1)); System.out.println("1的正弦值是:" + sin1); System.out.println("調(diào)用String類的非靜態(tài)方法equals()"); Method equals = String.class.getDeclaredMethod("equals", Object.class); Boolean mrsoft = (Boolean) equals.invoke(new String("明日科技"), "明日科技"); System.out.println("字符串是否是明日科技:" + mrsoft); } catch (Exception e) { e.printStackTrace(); } } }
運(yùn)行后的輸出結(jié)果
相關(guān)文章
Java并發(fā)容器之ConcurrentLinkedQueue詳解
這篇文章主要介紹了Java并發(fā)容器之ConcurrentLinkedQueue詳解,加鎖隊(duì)列的實(shí)現(xiàn)較為簡(jiǎn)單,這里就略過(guò),我們來(lái)重點(diǎn)來(lái)解讀一下非阻塞隊(duì)列,2023-12-12
從點(diǎn)到面, 下面我們來(lái)看下非阻塞隊(duì)列經(jīng)典實(shí)現(xiàn)類ConcurrentLinkedQueue,需要的朋友可以參考下基于Java方式實(shí)現(xiàn)數(shù)據(jù)同步
這篇文章主要為大家詳細(xì)介紹了基于Java方式實(shí)現(xiàn)數(shù)據(jù)同步,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08spring boot hutool整合email的詳細(xì)過(guò)程
這篇文章主要介紹了spring boot hutool整合email的相關(guān)知識(shí),本文介紹兩種方式發(fā)送email文件,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-03-03如何通過(guò)Kaptcha在Web頁(yè)面生成驗(yàn)證碼
這篇文章主要介紹了如何通過(guò)Kaptcha在Web頁(yè)面生成驗(yàn)證碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10idea無(wú)法切換分支報(bào)錯(cuò)問(wèn)題及解決
這篇文章主要介紹了idea無(wú)法切換分支報(bào)錯(cuò)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03idea2019.1.4 鼠標(biāo)放到方法上顯示注解的實(shí)現(xiàn)操作
這篇文章主要介紹了idea2019.1.4 鼠標(biāo)放到方法上顯示注解的實(shí)現(xiàn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02