中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2021-02-22 15:20:08 來源:億速云 閱讀:203 作者:Leah 欄目:開發技術

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

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項目中動態加載類了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沙雅县| 祥云县| 黔江区| 安顺市| 常德市| 砚山县| 新竹市| 彭水| 九龙县| 吐鲁番市| 乌什县| 钟山县| 中方县| 呼玛县| 柏乡县| 长寿区| 博客| 确山县| 沧源| 浦县| 长武县| 磐安县| 凤凰县| 精河县| 谷城县| 德昌县| 民丰县| 建水县| 丰宁| 马公市| 买车| 昌吉市| 梁河县| 通江县| 张家界市| 威信县| 普宁市| 桂阳县| 靖江市| 建宁县| 阿图什市|