以下我們根據(jù)JAVA的調(diào)用方法做了整理和總結(jié),以及相關(guān)的調(diào)用代碼也做測試,以下來學習下。
專注于為中小企業(yè)提供網(wǎng)站設計、做網(wǎng)站服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)延川免費做網(wǎng)站提供優(yōu)質(zhì)的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
java方法主要分為三種:
一種是靜態(tài)方法
這種方法的話用static修飾,這個方法不需要與某個特定對象進行綁定;第二種就是常見的沒有用static修飾的方法;第三種就是構(gòu)造方法,構(gòu)造方法主要用于對類進行初始化。
靜態(tài)方法可以使用一個定義且實例化過的對象來調(diào)用也可以直接使用類名來調(diào)用。
實例方法必須使用一個被定義且實例化過的對象來調(diào)用。
class A{ //靜態(tài)方法,可以使用類名點方法名直接調(diào)用,比如A.sayHello() public static void sayHello(){ System.out.println("靜態(tài)方法輸出成功:Hello"); } //實例方法,必須創(chuàng)建類的實例,然后才能調(diào)用A a = new A(); a.sayWorld(); public void sayWorld(){ System.out.println("實例方法輸出成功: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)用實例方法 }catch(NullPointerException e){ System.out.println("調(diào)用實例方法出現(xiàn)了空指針異常"); } } }
測試輸出:
靜態(tài)方法輸出成功:Hello
調(diào)用實例方法出現(xiàn)了空指針異常
Java動態(tài)調(diào)用類中方法代碼
使用Math.class.getDeclaredMethod("sin", Double.TYPE);訪問指定的方法,其中”sin”表示要訪問的方法的名稱為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(); } } }
運行后的輸出結(jié)果