Java 반사 정적 로드 및 동적 로드의 간단한 인스턴스

정적 로드:

package com.imooc. ;

public class Office_Static {
	public static void main(String[] args) {
		//new  , , 
		if("Word".equals(args[0])){
			Word w = new Word();
			w.start();
		}
		if("Excel".equals(args[0])){
			Excel e = new Excel();
			e.start();
		}
	}
}
이 프로그램은 Word와 Excel 두 종류가 있어야 합니다. 판단된 후에 Excel을 사용하지 않아도 불러와야 합니다.
동적 로드:
1. 인터페이스 OfficeAble:

package com.imooc. ;

public interface OfficeAble {
	public void start();
}
2. Word 구현 인터페이스:

package com.imooc. ;

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

}
3, Excel 구현 인터페이스:

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 {
			// , 
			Class c = Class.forName(args[0]);// com.imooc. .Excel
			// , ( Word Excel OfficeAble)
			OfficeAble oa = (OfficeAble)c.newInstance();
			oa.start();
			
			// , Word Excel, 
//			Word word = (Word)c.newInstance();
//			word.start();
//			Excel excel = (Excel)c.newInstance();
//			excel.start();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}
다음은 여러분께 자바 반사의 정적 로드와 동적 로드의 간단한 실례의 전부입니다. 여러분께 도움이 되고 많은 응원 부탁드립니다~

좋은 웹페이지 즐겨찾기