zoukankan      html  css  js  c++  java
  • Java连载120-反射机制获取构造方法和父类、父接口

    一、使用反射机制来

    (1)获取一个类;

    (2)获取类的构造函数

    (3)通过构造函数来获取一个对象

    package com.bjpowernode.java_learning;
    
    import java.lang.reflect.*;
    
    ​
    
    public class D120_1_ConstructerOfClass {
    
      public static void main(String[] args) throws Exception{
    
        //1.获取类
    
        Class c = Class.forName("com.bjpowernode.java_learning.D120_Customer");
    
       
    
        //2.获取特定的构造方法
    
        Constructor con = c.getDeclaredConstructor(String.class,int.class);
    
       
    
        //3.创建对象
    
        Object o = con.newInstance("张三",25);
    
        System.out.println(o);
    
      }
    
    ​
    
    }
    
    class D120_Customer{
    
      String name;
    
      int age;
    
     
    
      D120_Customer(String name,int age){
    
        this.name = name;
    
        this.age = age;
    
       
    
      }
    
     
    
      public String toString() {
    
        return "Customer[" + name + "," + age + "]";
    
      }
    
    }

    二、关于类获取父类和父接口

    package com.bjpowernode.java_learning;
    
    import java.lang.reflect.*;
    
    ​
    
    public class D120_2_ParentClassAndInterfaceOfClass {
    
      public static void main(String[] args) throws Exception{
    
        Class c = Class.forName("java.lang.String");
    
       
    
        //获取父类
    
        Class superClass = c.getSuperclass();
    
       
    
        System.out.println(superClass.getName());
    
        System.out.println("================");
    
           
    
          //获取父接口
    
          Class[] ins = c.getInterfaces();
    
          for(Class in:ins) {
    
            System.out.println(in.getName());
    
          }
    
      }
    
    }

    三、反射的缺点

    (1)性能问题。反射机制不是直接执行代码,性能问题的程度取决于程序中是如何使用反射的,如果他作为程序运行中相对很少涉及的部分,缓慢的性能将不会是问题。

    (2)使用反射会模糊程序内部实际要发生的事情。

    四、源码:

    D120_1_ConstructerOfClass.java

    D120_2_ParentClassAndInterfaceOfClass.java

    https://github.com/ruigege66/Java/blob/master/D120_1_ConstructerOfClass.java

    https://github.com/ruigege66/Java/blob/master/D120_2_ParentClassAndInterfaceOfClass.java​

    2.CSDN:https://blog.csdn.net/weixin_44630050

    3.博客园:https://www.cnblogs.com/ruigege0000/

    4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

     

  • 相关阅读:
    hdu 3579 Hello Kiki (中国剩余定理)
    hdu 1573 X问题 (非互质的中国剩余定理)
    poj 2891 Strange Way to Express Integers (非互质的中国剩余定理)
    查看cache中消耗性能的语句
    sqlserver2008 R2中查找未使用过的索引
    【转】如何新建索引:高开销的缺失索引
    查看sqlserver 2008中性能低下的语句
    经典
    符合条件的记录有则修改没有则添加的小优化技巧
    测试分区表,以及在现有表上新建分区方案,以及把分区表变为普通表测试代码!!
  • 原文地址:https://www.cnblogs.com/ruigege0000/p/13047389.html
Copyright © 2011-2022 走看看