反射:加载类的方法有三种,
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); } }
原文地址:https://www.cnblogs.com/majingang/p/9116043.html
时间: 2024-10-10 01:58:41