反射:加载类的方法有三种,

1.用Class.forName("类名")方法来调用;
2.类名.class得到
3.用对象.getClass()得到
package com.ma.reflection;

import org.junit.Test;

import com.ma.bean.UserBean;


public class Demo1 {
	
	/**
	 * 反射:加载类的方法
	 */
	@Test
	public void test1(){
		//1.用Class.forName("类名")方法来调用;
		try {
			Class<?> c = Class.forName("com.ma.bean.UserBean");
			System.out.println(c);
		
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		
		//2.类名.class得到
		Class<?> cla1 =  UserBean.class;
		System.out.println(cla1);
		
		//3.用对象.getClass()得到
		Class<?> cla2 =  new UserBean().getClass();
		System.out.println(cla2);
	}

}

  UserBean实体类

package com.ma.bean;
/**
 * UserBean实体类
 * @author ma
 *
 */
public class UserBean {
	
	private String id;
	private String name = "张三";
	private String password;
	public UserBean() {
		super();
		System.out.println("我是无参构造方法");
	}
	public UserBean(String id, String name, String password) {
		super();
		this.id = id;
		this.name = name;
		this.password = password;
		System.out.println("我是有参构造方法");
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	@Override
	public String toString() {
		return "UserBean [id=" + id + ", name=" + name + ", password="
				+ password + "]";
	}
	
	private UserBean(String name){
		this.name = name;
		System.out.println(name);
	} 
	

}