Java反射之靜態(tài)加載和動(dòng)態(tài)加載的簡單實(shí)例
靜態(tài)加載:
package com.imooc.加載類;
public class Office_Static {
public static void main(String[] args) {
//new 創(chuàng)建對(duì)象,是靜態(tài)加載類,在編譯時(shí)刻就需要加載所有的可能使用到的類
if("Word".equals(args[0])){
Word w = new Word();
w.start();
}
if("Excel".equals(args[0])){
Excel e = new Excel();
e.start();
}
}
}
這個(gè)程序編譯時(shí)必須有Word和Excel這兩個(gè)類存在才行,即使判斷后用不到Excel也要加載
動(dòng)態(tài)加載:
1、接口OfficeAble :
package com.imooc.加載類;
public interface OfficeAble {
public void start();
}
2、Word實(shí)現(xiàn)接口:
package com.imooc.加載類;
public class Word implements OfficeAble{
public void start(){
System.out.println("word start");
}
}
3、Excel實(shí)現(xiàn)接口:
package com.imooc.加載類;
public class Excel implements OfficeAble{
public void start(){
System.out.println("excel start");
}
}
4、Main方法
package com.imooc.加載類;
public class OfficeBetter {
/**
* @param args
*/
public static void main(String[] args) {
try {
//動(dòng)態(tài)加載類,在運(yùn)行時(shí)刻加載
Class c = Class.forName(args[0]);//在運(yùn)行配置里面輸入com.imooc.加載類.Excel
//通過類類型,創(chuàng)建該類對(duì)象(先轉(zhuǎn)換為Word和Excel的共同接口OfficeAble)
OfficeAble oa = (OfficeAble)c.newInstance();
oa.start();
//不推薦下面兩種,因?yàn)椴淮_定是加載Word還是Excel,要強(qiáng)轉(zhuǎn)
// Word word = (Word)c.newInstance();
// word.start();
// Excel excel = (Excel)c.newInstance();
// excel.start();
} catch (Exception e) {
e.printStackTrace();
}
}
}
以上就是小編為大家?guī)淼腏ava反射之靜態(tài)加載和動(dòng)態(tài)加載的簡單實(shí)例的全部內(nèi)容了,希望對(duì)大家有所幫助,多多支持腳本之家~
相關(guān)文章
jvm細(xì)節(jié)探索之synchronized及實(shí)現(xiàn)問題分析
這篇文章主要介紹了jvm細(xì)節(jié)探索之synchronized及實(shí)現(xiàn)問題分析,涉及synchronized的字節(jié)碼表示,JVM中鎖的優(yōu)化,對(duì)象頭的介紹等相關(guān)內(nèi)容,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-11-11
Java實(shí)現(xiàn)對(duì)象轉(zhuǎn)CSV格式
CSV是一種逗號(hào)分隔值格式的文件,一般用來存儲(chǔ)數(shù)據(jù)的純文本格式文件。Java對(duì)象轉(zhuǎn)CSV,有現(xiàn)成的工具包,commons-lang3 的ReflectionToStringBuilder 就可以簡單的解決的對(duì)象轉(zhuǎn)CSV,快跟隨小編一起學(xué)習(xí)一下吧2022-06-06
Java創(chuàng)建數(shù)組的3種方式代碼舉例
數(shù)組是相同類型數(shù)據(jù)的有序集合,數(shù)組描述的是若干個(gè)相同類型的數(shù)據(jù)按照一定的先后次序排列組合而成,其中每一個(gè)數(shù)據(jù)稱為數(shù)組的元素,可以通過下標(biāo)進(jìn)行訪問,這篇文章主要給大家介紹了關(guān)于Java創(chuàng)建數(shù)組的3種方式,需要的朋友可以參考下2024-01-01
Java后臺(tái)開發(fā)之表單提交之前驗(yàn)證
這篇文章主要介紹了Java后臺(tái)開發(fā)之表單提交之前驗(yàn)證的實(shí)現(xiàn)代碼,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友參考下吧2017-02-02
java實(shí)現(xiàn)http請(qǐng)求工具類示例
這篇文章主要介紹了java實(shí)現(xiàn)http請(qǐng)求工具類示例,需要的朋友可以參考下2014-05-05
詳解在SpringBoot中使用MongoDb做單元測試的代碼
這篇文章主要介紹了詳解在SpringBoot中使用MongoDb做單元測試的代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11

