>Java >java지도 시간 >Java에서 동적으로 로드된 코드 예제를 구현하는 방법

Java에서 동적으로 로드된 코드 예제를 구현하는 방법

黄舟
黄舟원래의
2017-07-26 15:12:212405검색

이 글에서는 주로 Java 동적 로딩 구현 코드에 대한 관련 정보를 소개합니다. Java 동적 로딩 클래스의 주요 목적은 기본 프로그램 코드를 변경하는 것이 아닙니다. 구성 파일을 수정하여 다양한 객체를 조작하여 다양한 기능을 수행할 수 있습니다. 도움이 필요한 친구들은 참고할 수 있습니다. 기본 프로그램 코드를 변경하지 않고 구성 파일을 다른 기능을 수행합니다. 주로 시스템 확장에 유리합니다. 예를 들어, 함수를 변경하고 싶은 경우에는 클래스를 만든 후 해당 함수를 작성하면 됩니다. 새 함수는 구성 파일을 통해 사용할 수 없습니다. 시스템의 어느 곳이든 수정해야 합니다. 완전히 실현된 느슨한 결합만 있으면 됩니다. 개방-폐쇄 원칙을 충족합니다(수정 시 폐쇄, 추가 또는 삭제 시 개방).

public abstract class AbstractAction { 
  public abstract String action(); 
} 
public class TestAction extends AbstractAction{ 
  public String action() { 
    System.out.println("I am working ! "); 
    return "this ActionTest class"; 
  } 
}

 String s = "file://D:\Style.jar";***//jar所在的文件的URL*
 URL url = new URL(s); 
URLClassLoader myClassLoader = new URLClassLoader(new URL[] { url }, Thread.currentThread() .getContextClassLoader()); 
Class<? extends AbstractAction> myClass = (Class<? extends AbstractAction>) myClassLoader.loadClass("com.java.jarloader.TestAction"); 
AbstractAction action = (AbstractAction) myClass.newInstance(); 
String str = action.action(); 
System.out.println(str);

위 내용은 Java에서 동적으로 로드된 코드 예제를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.