当前位置: 首页 > news >正文

如何做酒网站做网站需要编程基础

如何做酒网站,做网站需要编程基础,电子商务网站建设 ppt,深圳建安公司入职要求反射 什么是反射#xff1a; ​ 反射是Java语法的一种高级特性#xff0c;在“运行期间”对Java的类型信息进行检查#xff0c;操作处理。例如#xff1a;加载JDBC驱动类#xff0c;Mybatis动态处理resultType#xff0c;Spring根据配置创建Bean对象等使用场景都用反射…反射 什么是反射 ​ 反射是Java语法的一种高级特性在“运行期间”对Java的类型信息进行检查操作处理。例如加载JDBC驱动类Mybatis动态处理resultTypeSpring根据配置创建Bean对象等使用场景都用反射实现 常见的反射操作 获取Class类型信息执行构造方法创建对象调用实例方法通过成员变量保存值和获取值 Class类 Class对象用于保存一个类的类型信息它是反射的入口操作 获取Class对象的三种方式 通过类名 Class cls Book.class;通过forName()方法 Class cls Class.forName(com.dong.Book);通过对象 Class cls new Book().getClass();类只加载一次三个方法获取同一个类的Class对象输出相同 Constructor类 代表一个类中的构造方法构造器用于创建“目标对象” 获取Constructor构造方法的方式 Class对象.getConstructor() 获取无参构造方法 Class cls Book.class;Constructor constructor1 cls.getConstructor(); // 获取无参构造方法Class对象.getConstructor(Class…) 获取有参构造方法 Class cls Book.class;// 获取有参构造方法在Book类中存在有参构造方法 // 参数列表为String,String,double,int Constructor constructor2 cls.getConstructor(String.class,String.class,double.class,int.class);执行Constructor构造方法的方式 Constructor对象.newInstance() 执行无参构造方法 // 执行无参构造方法,创建目标对象 Object obj constructor1.newInstance();Constructor对象.newInstance(值…) 执行有参构造方法 // 执行有参构造方法创建目标对象 Object obj constructor2.newInstance(额尔古纳河右岸,迟子建,12.5,100);获取所有的构造方法 ClassBook cls Book.class; Constructor[] constructors cls.getConstructors();总结创建目标对象的方法3种 通过Class对象 ClassBook cls Book.class; Object obj cls.newInstance();通过无参构造方法 通过有参构造方法 Field类 代表一个类中的成员变量(字段)用于为“目标对象”保存值和获取值 获取Field成员变量的方式 获取public修饰的成员变量Class对象.getFields() Class cl Book.getClass(); Field[] fields cl.getFields();获取public/private修饰的成员变量Class对象.getDeclaredFields() Class cl Book.getClass(); Field[] fields cl.getDeclaredFields();使用Field成员变量的方式 Class对象.getField(成员变量名称)public修饰的成员变量 Class cl Book.getClass(); Field[] fields cl.getFields(bookName);Class对象.getDeclaredField(成员变量名称)public\private修饰的成员变量 Class cl Book.getClass(); Field[] fields cl.getDeclaredFields(bookName);给Filed成员变量赋值 Field对象.set(目标对象Value); // 获取需要创建的对象类型信息 Class bookClass Book.class; // 创建对象 Object bookObj bookClass.newInstance(); // 获取该类型中bookName成员变量 Field bookNameField bookClass.getDeclaredField(bookName);// book对象.bookName 舒克和贝塔 bookNameField.setAccessible(true); // 由于Book类中bookName是私有的所以需要设置 bookNameField.set(bookObj, 舒克和贝塔);setAccessible 封装时类的成员变量私有将Field对象的accessible标志设置为ture表示反射的对象在使用时应该取消 Java 语言访问检查设置为false表示反射的对象应该实施 Java 语言访问检查 获取成员变量名称并获取变量值 获取成员变量名称Field对象.getName(); 获取变量值Field对象.get(目标对象名); 例 public static void main(String[] args) throws NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {// 获取类型的信息对象ClassBook cls Book.class;// 创建目标对象Constructor constructor cls.getConstructor(String.class,String.class,double.class,int.class);Object obj constructor.newInstance(额尔古纳河右岸,迟子建,12.6,100);show(obj); }public static void show(Object obj) {try {Class cl obj.getClass(); Field[] fields cl.getDeclaredFields();for(Field f : fields) {f.setAccessible(true);System.out.println(属性f.getName()); // 获取成员变量属性System.out.println(属性值:f.get(obj)); // 获取变量属性值}} catch (SecurityException e) {e.printStackTrace();} catch (IllegalArgumentException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();} }Method类 代表一个类中的方法用于调用执行该方法 获取Method方法的方式 获取指定名称和参数列表的MethodClass对象.getMethod(String name,Class…parameterTypes) 在调用时需要传入方法名以及参数列表类型eg Class cls Book.class; Method method cls.getMethod(read,String.class,String.class);获取所有的Method方法Class对象.getMethods(); Class cls Book.class; Method[] methods cls.getMethods();for(Method m : methods) {System.out.println(m);System.out.println(访问修饰符:m.getModifiers()); System.out.println(返回值类型m.getReturnType());// 参数列表为一个Parameter类型的数组System.out.println(参数列表);for(Parameter p : m.getParameters()) {System.out.println(p);}System.out.println(方法名称m.getName());System.out.println(); }getModifiers()获取访问修饰符getReturnType()获取返回值类型getParameters()获取参数列表getName()获取方法名称 执行Method方法的方式 Method对象.invoke(目标对象方法参数) eg读取配置文件调用方法 config.txt com.dong.Task executeTask类 public class Task {public String execute(String id) {System.out.println(ִ执行流水号 id);System.out.println(ִ执行了Task任务类的excute方法!);return ok;} }Job类 public class Job {public String run(String id) {System.out.println(执行流水号: id);System.out.println(ִ执行了Job任务类的run方法);return success;} }Main方法 import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.nio.file.Files; import java.nio.file.Paths; import java.util.List; import java.util.UUID;public class reflex07 {public static void main(String[] args) throws IOException, ClassNotFoundException, NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {// 读取配置文件调用方法修改配置文件中内容执行不同的方法ListString configList Files.readAllLines(Paths.get(f:\\config.txt));String classNameconfigList.get(0);String methodNameconfigList.get(1);// 获取类信息Class? cl Class.forName(className);// 获取方法Method method cl.getMethod(methodName, String.class);// 执行方法Object obj cl.newInstance(); // 创建目标对象Object returnVal method.invoke(obj, UUID.randomUUID().toString()); // 调用方法System.out.println(返回值returnVal);} }通过Method对象.invoke(目标对象参数列表)调用方法
http://www.pierceye.com/news/785996/

相关文章:

  • 网站设计申请书买购网官方网站
  • 深圳做网站建设公司青岛网景互联网站建设公司
  • 做公司网站要多少钱洛阳信息网
  • asp 网站名字免费的公众号排版工具
  • 郑州响应式建站查企业的信息在哪个官网
  • 大型企业网站开发怎么使用免费的wordpress
  • 大连做网站大公司建设项目咨询公司网站
  • 教育培训网站建设方案鞍山建设信息网站
  • 重庆网站建设哪家强平台如何做推广
  • 安徽省建设安全监督站的网站网站建设公司一般多少钱
  • 服装网站建设策划书3000字软件开发包含网站开发吗
  • 免费网站的建设绵阳网站建设制作
  • 学生处网站建设招标公告网站包括哪些主要内容
  • 成都门户网站建设多少钱聚合广告联盟
  • 坦克大战网站开发课程设计报告软文营销的本质
  • 美食网站开发网站登录验证码是怎么做的
  • 电子商务网站排名辽宁省建设工程信息网业绩公示
  • 天津建设科技杂志的官方网站wordpress cnzz插件
  • 滨州建设网站太原网站建设优化
  • 记事本做网站怎么改字体包装设计模板设计素材
  • 下载软件的网站推荐thinkphp和wordpress
  • 青海省城乡和住房建设厅网站合肥小吃培训网页设计
  • 财经门户网站建设django校园网站开发
  • 泉州网站建设报价广东建设厅网站
  • 建设网站的源代码的所有权wordpress网站打开慢
  • 印度外贸网站有哪些家居小程序源码下载
  • 上海网站建设中心pc官方网站
  • 深圳企业网站制作公司查询西安网站设计哪家好
  • 大埔做网站手机qq邮箱发布了wordpress
  • 寻找南昌网站设计单位网站建设 中企动力医院