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

     

  • 相关阅读:
    10. Regular Expression Matching
    9. Palindrome Number
    6. ZigZag Conversion
    5. Longest Palindromic Substring
    4. Median of Two Sorted Arrays
    3. Longest Substring Without Repeating Characters
    2. Add Two Numbers
    链式表的按序号查找
    可持久化线段树——区间更新hdu4348
    主席树——树链上第k大spoj COT
  • 原文地址:https://www.cnblogs.com/ruigege0000/p/13047389.html
Copyright © 2020-2023  润新知