当前位置: 首页 > 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.zqtcl.cn/news/785996/

相关文章:

  • 12380网站建设建议上海网站推广服务
  • 做公司网站要提供什么企业门户app
  • 免费企业网站模板 php网站301跳转怎么做
  • 沭阳哪里有做网站推广的二手车网站源码下载
  • 网站建设添加视频教程wordpress做阿里巴巴国际站
  • 四川网站建设哪家专业辽宁招投标工程信息网
  • 小语种网站建设wordpress 上传图片不显示
  • 建网站什么网最好重庆制作网站公司简介
  • 中国建站平台邯郸现代建设集团网站
  • 爱站seo排名可以做哪些网站宁波网站怎么建设
  • 洛阳市伊滨区建设局网站企业集团网站源码
  • 做修图网站电脑配置wordpress后台登录页面美化
  • 中国十大物联网公司广州网站快速排名优化
  • 发帖网站有哪些wordpress提请审批
  • 网页设计网站导航怎么弄红色字体的内蒙古住房与建设厅网站
  • 微信网站什么做百度官网认证
  • 怎么提升网站流量做五金建材市场的网站
  • 网站合作流程h5网站怎么做api对接
  • asp.net 网站 结构手机客户端网站建设
  • 图片网站怎么做SEO参与网站建设注意
  • 网站界面设计案例教程wordpress更新报错
  • Dw做网站怎么加logo如何申请小程序店铺
  • 官方网站下载官方版本wordpress文字可以动的插件
  • 企业网站模板 免费下载网站建设服务采购方案模板下载
  • 在万网申请的域名_需要把万网的账户密码给做网站的吗做鱫视频网站
  • 网站建设360wordpress 音乐下载主题
  • 站群推广wordpress换logo
  • 苏州网站建设丶好先生科技电脑怎样做幻灯片的网站
  • 什么网站可以做线上邀请函大米网络营销推广方案
  • .net做网站实例 贴吧软件开发前景和发展