一.加载一个类的几种方法
接口
IUser
package org.me.javaapp;
/**
*
* @author Administrator
*/
public interface IUser {
}
User.java
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package org.me.javaapp;
public class User implements IUser{
private String name;
private int id;
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* @return the id
*/
public int getId() {
return id;
}
/**
* @param id the id to set
*/
public void setId(int id) {
this.id = id;
}
}
主类
public static void main(String[] args) throws ClassNotFoundException{
try{
Class c1=Class.forName("org.me.javaapp.User");
Class c2=User.class;
Object o1=c1.newInstance();
Object o2=c2.newInstance();
User u1=new User();
Class c3=u1.getClass();
/*
this.getClass.getClassLoader();
// 使用当前类的ClassLoader
Thread.currentThread().getContextClassLoader();
// 使用当前线程的ClassLoader
ClassLoader.getSystemClassLoader();
// 使 用系统ClassLoader,即系统的入口点所使用的ClassLoader。(注意,s