從零開始學Java之 編寫簡單的工程
阿新 • • 發佈:2019-02-05
筆者本人從最初開始接觸C語言、C++、VC++、彙編到後來接觸PHP以及Java,在這些語言的使用過程中深刻感受到這些語言都是相同的編寫思路,程式碼編寫的方式也是大同小異,目前認為Java語言的亮點是package以及反射機制。
package不僅提供了名稱空間功能,還可以用來區分程式碼模組(C語言需要建立刷選器新增模組檔案,工程目錄中為了方便看出具體模組檔案需要儲存到與刷選器同名或類似的資料夾內)。
Java反射機制的亮點在於可以指定任何存在的類(包括動態生成的類)獲取物件,而不用去考慮別的因素(在虛擬機器中通過遍歷所有對映的物件進行匹配)。而在C++語言中,只有虛子類(必須是繼承的形式,並且基類結合了執行時方法達到動態儲存繼承類)達到偽反射(因為功能不夠全面暫且定義為偽反射…)。
下面切入主題:
1.在package內建立一個執行檔案,並且在別的package類中呼叫:
從圖中可以看出在package內建立了一個檔案,檔案的第一行是引入package,現在建立另外的package以及呼叫oper類的檔案;
在Run檔案中,第一行指定所在的package(Running),第二行引用package(operation)中的oper類,
第二種呼叫方式:指定需要呼叫的package.類名,這種呼叫的好處在於可以防止與別的package有類重名的情況。
2.反射用法:通過類名呼叫類函式:
//首先引入反射類、異常類等
import java.lang .reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
//獲取指定類名稱
Class operat = Class.forName("operation.oper");
//建立類的例項
Object Oper = operat.newInstance();
//獲取指定函式,在oper類中寫了Add函式,並且有2個int引數
Method set = operat.getMethod("Add", int.class,int.class);
//對屬性設定訪問許可權
set .setAccessible(true);
//呼叫這個函式
System.out.println(((operation.oper) Oper).Add(10,100));
Java在我接觸過的語言中,無論是易用性還是功能性都是比較靠前的,下一步繼續摸索Java語言的奇妙之處。