Class.forName()抛出异常

首先我们写一个简单的类:

package equals;
public class People {
	private String name;
	private int age;
	People() {
		this.name = name;
		this.age = age;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	
}

写一个main方法来执行  class.forName(调用静态方法forName获取类名对性的Class对象) 方法来获取Person类的类名。

public static void main(String[] ages) {

		People ss = new People();

		String className = "equals.People";
		Class cl = Class.forName(className);//此时这行代码将会报错,我们需要把鼠标放在className上面,进行添加try catch进行捕获异常
		System.out.println(cl);
	}

//下面这段代码对上面代码的纠正,正确可执行代码;
	public static void main(String[] ages) {

		People ss = new People();

		String className = "equals.People";
		Class cl;
		try {
			cl = Class.forName(className);
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println(cl);
	}

最后我们可已得到结果:

class equals.People

此时就获取到new出来的实例的类名

猜你喜欢

转载自blog.csdn.net/weixin_42630877/article/details/81188858