자바 동적 로드 클래스 예제 상세 설명
나 는 폴 더 에 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 와 다른 기능 류 를 바 꾸 지 않 아 도 되 고 확장 성 이 강 합 니 다.이것 이 바로 동적 로드 의 장점 입 니 다.총결산
자바 동적 로 딩 류 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.자바 동적 로 딩 류 에 관 한 더 많은 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.