美文网首页
java虚拟机:01_java反射总结

java虚拟机:01_java反射总结

作者: 果芽软件 | 来源:发表于2017-12-04 14:49 被阅读81次

    入门

    方法参数化:main方法可以的,但封装成方法,传参

    进阶

    反射:具体某个类的方法名、类名、字段名参数化

    高级、

    泛型:将类型再参数化

    反射语法

    实例化:
    非反射:把xxx类的构造器执行一下
    反射:把叫xxx的类找到,再把这个类的构造器执行一下

    Login login=new Login();
    
    Class c = Class.forName(className);
    Object obj=c.newInstance();
    

    调方法:
    非反射:把obj的xxx方法执行一下
    反射:把xxx方法找到,再把这个方法执行一下

    login.doGet(request,response);
    
    Method m = c.getMethod("doGet", Request.class, Response.class);
    m.invoke(obj,new Object[]{request,response});
    

    设置字段:
    非反射:把obj的xxx字段设值
    反射:把叫xxx的字段找到, 再把这个字段设值

    login.name="张三";
    
    Field f=c.getField("name");
    f.set("张三");
    

    一、继承和接口

    方式 关键字 对象 对象类型 个数
    继承 extends class 1个
    继承 extends 抽象类 abstract class 1个
    实现 implement 接口 interface 多个

    二、反射

    对比项 webdriver 反射
    对象 driver class
    获取方式 new ChromeDriver() 类名.class
    实例变量名.getClass()
    类加载器:Class.forName("包名.类名")
    处理元素 标签 包、类名、构造器、字段、方法、注解、继承的父类、实现的接口
    封装类 WebElement 包:Package
    构造器:Constructor
    字段:Field
    方法:Method
    注解:Annotation
    类、父类、接口:Class
    1. 类型对象:Class类型的对象
    2. 类加载器:Class.forName()

    三、注解

    四、泛型

    相关文章

      网友评论

          本文标题:java虚拟机:01_java反射总结

          本文链接:https://www.haomeiwen.com/subject/bywabxtx.html