java虚拟机:01_java反射总结

入门

方法参数化: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()

三、注解

四、泛型

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容