java 反射创建对象

        Person p1 = new Person("小明" ,20,'男' );
         Person p2 = new Person("小红" ,23,'女' );

          //创建Class对象的方式一:(对象.getClass()),获取person类中的字节码文件
          Class class1 = p1.getClass();
         System. out.println(p1.getClass().getName());
          Class class2 = p2.getClass();
         System. out.println(class1 == class2 );

         System. out.println("==============================" );
          //创建Class对象的方式二:(类.class:需要输入一个明确的类,任意一个类型都有一个静态的class属性)
          Class class3 = Person.class;
         System. out.println(class1 == class2);

         System. out.println("==============================" );
          //创建Class对象的方式三:(forName():传入时只需要以字符串的方式传入即可)
          //通过Class类的一个forName(String className)静态方法返回一个Class对象,className必须是全路径名称;
          //Class.forName()有异常:ClassNotFoundException

          Class class4 = null;
          try {
             class4 = Class.forName("cn.af.watch.test.Person");
         } catch (ClassNotFoundException e) {
              // TODO Auto-generated catch block
             e.printStackTrace();
         }
         System. out.println(class4 == class3);
         try {
            Person pp=(Person) class1.newInstance();
        } catch (InstantiationException e) {
            // TODO 自动生成的 catch 块
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            // TODO 自动生成的 catch 块
            e.printStackTrace();
        }
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值