1、定义一个接口类方法代码:我的包名称叫interFace/*** Alipay.com Inc.* Copyright (c) 2004-2015 All Rights Reserved.*/package interFace;/**** @author wb-lilei.u*/public interface commInterFace { public void sayHello(String hello);}
2、定凶及淄靥义实现类代码:包名称为impl(注意这里的包后面会用到)/*** Alipay.com Inc.* Copyright (c) 2004-2015 All Rights Reserved.*/package impl;import interFace.commInterFace;/**** @author wb-lilei.u* @version $Id: commInterFaceImpl.java, v 0.1 2015年11月19日 下午1:54:31 wb-lilei.u Exp $*/public class commInterFaceImpl implements commInterFace { /** * @see interFace.commInterFace#sayHello(java.lang.String) */ @Override public void sayHello(String hello) { System.out.println("hello" + hello); }}
3、在命令行提示符(cmd)编译这两个文件:一定要一起编译单独编译实现类方法会不通过javac impl\*.java interFace\*.java
4、编写测试类方法:import interFace.commInterFace;坡纠课柩import java.net.URL稆糨孝汶;import java.net.URLClassLoader;/*** Alipay.com Inc.* Copyright (c) 2004-2015 All Rights Reserved.*//**** @author wb-lilei.u*/public class testLoadClass { /** * * @param args */ public static void main(String[] args) { try { URLClassLoader loader = new URLClassLoader( new URL[] { new URL("file:D:\\workspaces\\") });//这里的D:\\workspaces\\是文件的根地址 Class<commInterFace> myClass = (Class<commInterFace>) loader .loadClass("impl.commInterFaceImpl");//impl.commInterFaceImpl是后面具体的地址因为一定要包含impl这一段这//是因为在创建的时候使用了impl这个包所以一定要一起 myClass.newInstance().sayHello("ssssssssssssss");//利用Java反射机制创建实例测试方法 } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } }}