Java Constructor类简介说明

转自:

Java Constructor类简介说明

Constructor是一个位于java.lang.reflect包下的类,
它指某个类的构造方法
 它用于定义所有构造函数的类 

获取Constructor类对象的方法

getConstructors() 获取类中的公共方法
getConstructor(Class[] params) 获取类的特定构造方法,params参数指定构造方法的参数类型
getDeclaredConstructors() 获取类中所有的构造方法(public、protected、default、private)
getDeclaredConstructor(Class[] params) 获取类的特定构造方法,params参数指定构造方法的参数类型

例:
借助反射实例化一个“构造方法私有的类”

package com.java265.other;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
public class TestClass {
	public static void main(String[] args) throws Exception {
		Class clazz = Class.forName("com.java265.other.User");
		Method method = clazz.getDeclaredMethod("setAge", int.class);
		method.setAccessible(true);

		Constructor c = clazz.getDeclaredConstructor();
		c.setAccessible(true);// 设置访问权限
		User u = (User) c.newInstance();
		method.invoke(u, 78);
		System.out.println(u.getAge());
		}
}
class User {
	private int age;
	private User() {
	}
	public int getAge() {
		return this.age;
	}
	private void setAge(int age) {
		this.age = age;
	}
}
-----运行以上代码,将输出以下信息---
78

你可能感兴趣的:(java,java)