首先,定义一个类
class Person{ String name = "lxg"; int age = 10; public void say(){ System.out.println("myName is "+ this.name + " and my age is "+this.age); } }
如果是如下写法,那么我们必定在方法名上有一个throws ClassNotFoundException 抛出,如果不是在main方法,main方法调用了还会在该方法上面也连带抛出,非常的不美观,可以采用try catch的方法进行解除。
public class Demo1 { public static void main(String[] args) throws ClassNotFoundException { f01(); } private static void f01() throws ClassNotFoundException { Person person = new Person(); person.say(); //通过对象获得 Class C1 = person.getClass(); System.out.println(C1); //通过formName获得 Class C2 = Class.forName("BASE.Person"); System.out.println(C2); } }
try catch如下:
public class Demo1 { public static void main(String[] args) { f01(); } private static void f01() { Person person = new Person(); //用父类声明,不能用子类的方法。 person.say(); //通过对象获得 Class C1 = person.getClass(); System.out.println(C1); //通过formName获得 String className = "BASE.Person"; Class C3 = null; try { C3 = Class.forName(className); } catch (ClassNotFoundException e) { e.printStackTrace(); } System.out.println(C3); } }
可以了 。