자바 동적 로드 클래스 예제 상세 설명

2983 단어 자바동태로드
동적 로드 클래스 를 설명 하기 전에 왜 동적 로드 클래스 를 해 야 하 는 지,정적 로드 가 안 되 는 지 알 아 보 겠 습 니 다.우 리 는 아래 의 실례 를 볼 수 있다.
나 는 폴 더 에 Office.java 류 와 Word.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 파일 을 컴 파일 합 니 다.

번역 이 틀 릴 수 있 습 니 다.이것 은 당연히 문제 가 없습니다.왜냐하면 엑셀 자바 류 를 쓰 지 않 았 기 때 문 입 니 다.
그런데 이 엑셀 류 는 저희 가 꼭 써 야 하나 요?만약 이 엑셀 류 가 오래 걸 려 야 쓸 수 있다 면,여기 서 우 리 는 다른 기능 을 사용 할 수 없 습 니까?뒤에 만약 한 종류 에 문제 가 생기 면 이 시스템 은 마비 되 지 않 습 니까?
그래서 이것 은 동적 로 딩 류 의 장점 을 나타 낸다.동적 로 딩 류 는 필요 에 따라 불 러 오 는 것 이다.당신 이 원 하 는 종 류 를 불 러 오 면 어떤 종 류 를 불 러 오고 한 가지 상 태 는 다른 유형의 사용 에 영향 을 주지 않 는 다.
그래서 우 리 는 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();
		}
		
	}
}
비록 우 리 는 엑셀 류 를 쓰 지 않 았 지만,이때 우 리 는 Office.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");
	}
}
이렇게 개조 한 후에 저 는 엑셀 류 를 추가 하고 다른 류 를 추가 하려 고 합 니 다.Office Able 인터페이스 만 실현 하면 됩 니 다.Office 와 다른 기능 류 를 바 꾸 지 않 아 도 되 고 확장 성 이 강 합 니 다.이것 이 바로 동적 로드 의 장점 입 니 다.
총결산
자바 동적 로 딩 류 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.자바 동적 로 딩 류 에 관 한 더 많은 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기