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

商城网站的建设织梦网站地图生成

商城网站的建设,织梦网站地图生成,网站设计中 查询怎么做,重庆网站建设外包哪家好文章目录 1. 反射1.1 反射演示1.2 反射原理 2. Class类3. 注解3.1 内置注解3.2 元注解3.3 自定义注解 4. lambda表达式5. lambda精简6. lambda调用方法 1. 反射 1.1 反射演示 有一个猫类#xff0c;如下#xff1a; public class Cat {private String name;private int ag… 文章目录 1. 反射1.1 反射演示1.2 反射原理 2. Class类3. 注解3.1 内置注解3.2 元注解3.3 自定义注解 4. lambda表达式5. lambda精简6. lambda调用方法 1. 反射 1.1 反射演示 有一个猫类如下 public class Cat {private String name;private int age;public void speak(){System.out.println(猫不会说话);}public void climb(){System.out.println(猫会爬);}public Cat() {}public Cat(String name, int age) {this.name name;this.age age;}public String getName() {return name;}public void setName(String name) {this.name name;}public int getAge() {return age;}public void setAge(int age) {this.age age;} }假设我们配置属性文件re.properties classNameCat methodNamespeak编写反射的主方法首先先读取配置文件然后根据配置文件写的类路径、类方法来获取类 import java.io.FileInputStream; import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.Properties;public class tmp {public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, NoSuchMethodException, InvocationTargetException, IOException { // 读取配置文件Properties properties new Properties();properties.load(new FileInputStream(re.properties)); // 加载配置文件中的属性String className properties.getProperty(className);String methodName properties.getProperty(methodName);Class cls Class.forName(className); // 根据类的路径获取类Object obj cls.newInstance(); // 获取这个类的实例Method method cls.getMethod(methodName); // 获取类里面的方法method.invoke(obj); // 调用类里面的方法} }根据目前的位置输出是 猫不会说话反射的作用是如果我们修改配置文件里面的方法名为climb则可以使得输出为 猫会爬这样就可以使得我们只修改配置文件而无需修改源码实现代码功能的改变。 1.2 反射原理 .java文件经过编译器编译后变成了.class字节码文件.class文件里面编译了.java文件里面的所有东西有类、属性、方法、构造方法等。 Java程序的加载就是加载.class文件.class文件被加载进内存后内存里边有一个.class文件对应的内存区域内存中包含了.class文件中所有与.java对应的类、属性、方法、构造方法等 通过内存区域内的这些对应的东西进行反射加载获得具体的类、方法等。 2. Class类 Class.forName(classPath)加载出来的两个结果属于同一个对象HashCode相等 3. 注解 3.1 内置注解 SuppressWarnings(all)可以注释在类、方法等上表示抑制编译器的所有类型警告unchecked表示抑制单类型的警告unchecked,rawtypes表示抑制多类型的警告 Override是重载方法比如用在toString()方法上 Deprecated表示是一个过时的方法不推荐使用当使用这个方法时方法上会被标记一个删除线 3.2 元注解 Target表示在哪些位置上标记注解Target({ElementType.TYPE,ElementType.METHOD,ElementType.FIELD,ElementType.PARAMETER...}) Retention指定注解的声明周期如Retention(RetentionPolicy.RUNTIME) Document会在JavaDoc里出现 3.3 自定义注解 自定义注解的代码使用元注解 Target({ElementType.TYPE, ElementType.METHOD}) Retention(RetentionPolicy.RUNTIME) public interface NodeU{ }4. lambda表达式 通过lambda表达式自定义实现接口的方法并调用打印结果 public class tmp {public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, NoSuchMethodException, InvocationTargetException, IOException {Dog d (int a, int b) - {return a b;};System.out.println(d.add(3, 2));} }interface Dog{int add(int a, int b); }如果interface里面有多个方法 interface Dog{int add(int a, int b);int sub(int a, int b); // 二义性int mul(int a, int b); // 二义性 }则主方法里的写法就会有问题因为(int a, int b)不知道具体指的是哪个。 5. lambda精简 void方法可以精简成 public class tmp {public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, NoSuchMethodException, InvocationTargetException, IOException {Dog d () - System.out.println(aaa);d.add();} }interface Dog{void add(); }精简4中的代码 public class tmp {public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, NoSuchMethodException, InvocationTargetException, IOException {Dog d (a,b)-(a b);System.out.println(d.add(3, 2));} }interface Dog{int add(int a, int b); }又如 public class tmp {public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, NoSuchMethodException, InvocationTargetException, IOException {Dog d a- System.out.println(a a);d.add(1);} }interface Dog{void add(String a); }单个参数可以不带括号但是多个参数必须带括号。这个要求是Dog接口的方法里只有一个含一个参数的方法否则会报错 一个参数时()可省略 方法体只有一条语句时{}可省略 如果方法体是return那省略同时return也要省略 参数类型可以省略(String a)可以直接变为(a) 6. lambda调用方法 大概就是将类tmp中的method方法作为接口Dog中类似方法的实现method是以两个int为参数的方法而Dog中恰好有两个int的方法 public class tmp {public static void main(String[] args) {tmp _tmp new tmp();Dog d _tmp::method;System.out.println(d.add(1, 2));System.out.println(d.add(3, 4));System.out.println(d.add(6, 5));}public int method(int a, int b){return ab;} }interface Dog{int add(int a, int b); }如果dog中多了一个也是两个int参数的方法则Dog d _tmp::met中就会报错。
http://www.zqtcl.cn/news/137919/

相关文章:

  • 网站运营 网站建设北京公司网站制作要多少钱
  • 郑州看妇科最好的医院是哪里南宁百度seo软件
  • 深圳市住房与建设局实名制网站手机网站打不开被拦截怎么办
  • 公司做网站的价格几千元wordpress 修改页脚
  • 专业网站建设公司在线咨询宁波网站推广公司价格
  • 网站搭建系统都有哪些丽水网站开发
  • 网站设计包含哪些技术外行怎么做网站
  • 网站建设运营知识推广软文平台
  • 营销型网站建设用途网站 文件夹结构
  • 制作网站建设策划方案cosy主题wordpress
  • 网站建设服务联享科技net和cn哪个做网站好
  • 深圳网站制作公司哪家好艺考培训学校
  • 潍坊网站的公司电话html网站开发基础
  • 网站模板样式做地图特效的网站
  • 商标查询官方网站有没有免费找客户的软件
  • 网站开发及服务合同行业网站名称
  • 网站建设费包括什么建筑设计领域
  • 网站建设 信科网络建行网站会员注册用户名
  • 网站建设的什么是开发实施注意什么网站开发实用技术pdf
  • 网站设计的资质叫什么贵阳网站建设咨询
  • 郑州哪家公司做网站怎么做自己的销售网站
  • 北大青鸟教网站开发吗中国电信 网站备案
  • 网站目录结构图wordpress ftp连接不上
  • 使用php做的网站有哪些网站备案密码重置申请表
  • php网站开发好找工作吗一叶子电子商务网站建设策划书
  • 运营好还是网站开发好购买域名后怎样建公司官网
  • 优秀设计网站推荐晋江市住房和城乡建设局网站
  • 杭州市区网站制作单位青海公路建设服务网站
  • 大型门户网站建设美丽杭州房价
  • 素材下载解析接口网站开发网站关键词热度