1. 程式人生 > >JAVA中的反射中加載類的方法

JAVA中的反射中加載類的方法

ace getpass over this test AS demo1 str tcl

反射:加載類的方法有三種,

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);
	} 
	

}

  

JAVA中的反射中加載類的方法