99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

如何在Java項目中動態加載類-創新互聯

這期內容當中小編將會給大家帶來有關如何在Java項目中動態加載類,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創新互聯是專業的南澗網站建設公司,南澗接單;提供網站制作、做網站,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行南澗網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!

Java是什么

Java是一門面向對象編程語言,可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序。

Office.java 類和 Word.java類,如下:


如何在Java項目中動態加載類

Office.java

class Office{
	public static void main(String[] args){
		if(args[0].equals("Word")){
			Word w = new Word();
			w.start();
		}
		if(args[0].equals("Excel")){
			Excel e = new Excel();
			e.start();
		}
	}
}

Word.java

class Word{
	public void start(){
		System.out.println("Word Start");
	}
}

此時我們編譯一下Office.java 文件:

如何在Java項目中動態加載類

編譯會報錯,這當然沒問題,因為確實沒有寫Excel.java類。

但是這個Excel類我們一定會用到嗎?如果這個Excel類需要很久才能寫出來,在此我們也不能使用其他功能嗎?后面如果一個類出問題了,這個系統是不是就癱瘓了?

所以這就體現出動態加載類的好處了,動態加載類是按需加載的,你需要什么類,就加載什么類,一個類的狀態,不會影響到另一個類的使用。

所以我們可以將Office類改造如下:

class Office{
	public static void main(String[] args){
		try{
			Class c = Class.forName(args[0]);
			Word w = (Word)c.newInstance();
			w.start();
		}
		catch(Exception e){
			e.printStackTrace();
		}
		
	}
}

雖然我們還是沒有寫Excel類,但此時我們再編譯Office.java文件,編譯通過;

如何在Java項目中動態加載類

運行一下:

如何在Java項目中動態加載類

成功按照我們預想的結果運行,這樣Word類就可以單獨運行。

但是這樣還是不夠規范,因為現在只能加載Word類類型的類文件,為了使程序有更好的擴展性,我們添加一個接口,只有讓所有的功能類實現該接口即可。完善如下:

OfficeAble.java

interface OfficeAble{
	public void start();
}

Office.java

class Office{
	public static void main(String[] args){
		try{
			Class c = Class.forName(args[0]);
			OfficeAble oa = (OfficeAble)c.newInstance();
			oa.start();
		}
		catch(Exception e){
			e.printStackTrace();
		}
		
	}
}

Word.java

class Word implements OfficeAble{
	public void start(){
		System.out.println("Word Start");
	}
}

上述就是小編為大家分享的如何在Java項目中動態加載類了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創新互聯行業資訊頻道。

分享名稱:如何在Java項目中動態加載類-創新互聯
文章URL:http://www.yijiale78.com/article36/cdpepg.html

成都網站建設公司_創新互聯,為您提供響應式網站App設計Google企業網站制作ChatGPT網站設計

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都定制網站網頁設計