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

上海做网站比较好的公司有哪些网站开发工资怎么样

上海做网站比较好的公司有哪些,网站开发工资怎么样,wordpress文章加载慢6,wordpress index反射JAVA反射机制是在运行状态中#xff0c;对于任意一个类#xff0c;都能够知道这个类的所有属性和方法#xff1b;对于任意一个对象#xff0c;都能够调用它的任意一个方法和属性#xff1b;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 通…反射JAVA反射机制是在运行状态中对于任意一个类都能够知道这个类的所有属性和方法对于任意一个对象都能够调用它的任意一个方法和属性这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 通过反射获取构造方法  1.获取构造方法   1).批量的方法 public Constructor[] getConstructors()所有公有的构造方法             public Constructor[] getDeclaredConstructors()获取所有的构造方法(包括私有、受保护、默认、公有)         2).获取单个的方法并调用 public Constructor getConstructor(Class... parameterTypes):获取单个的公有的构造方法 public Constructor getDeclaredConstructor(Class... parameterTypes):获取某个构造方法可以是私有的或受保护、默认、公有   public class ConstructorDemo1 {     public static void main(String[] args) {         Demo1 d1 new Demo1(10, 20, 30);         Class? extends Demo1 demoClass d1.getClass();         // 获得所有构造方法         Constructor[] declaredConstructors demoClass.getDeclaredConstructors();         for (int i 0; i declaredConstructors.length; i) { // 遍历构造方法             Constructor? constructor declaredConstructors[i];             System.out.println(查看是否允许带有可变数量的参数 constructor.isVarArgs());             System.out.println(该构造方法的入口参数类型依次为);             Class[] parameterTypes constructor.getParameterTypes(); // 获取所有参数类型             for (int j 0; j parameterTypes.length; j) {                 System.out.println( parameterTypes[j]);             }             System.out.println(该构造方法可能抛出的异常类型为);             // 获得所有可能抛出的异常信息类型             Class[] exceptionTypes constructor.getExceptionTypes();             for (int j 0; j exceptionTypes.length; j) {                 System.out.println( exceptionTypes[j]);             }             Demo1 d2 null;             try { // 如果该成员变量的访问权限为private则抛出异常即不允许访问                 if (i 2) // 通过执行默认没有参数的构造方法创建对象                     d2 (Demo1) constructor.newInstance();                 else if (i 1)                     // 通过执行具有两个参数的构造方法创建对象                     d2 (Demo1) constructor.newInstance(7, 5);                 else { // 通过执行具有可变数量参数的构造方法创建对象                     Object[] parameters new Object[] { new String[] { 100, 200, 300 } };                     d2 (Demo1) constructor.newInstance(parameters);                 }             } catch (Exception e) {                 System.out.println(在创建对象时抛出异常下面执行setAccessible()方法);                 constructor.setAccessible(true); // 设置为允许访问             }             if (d2 ! null) {                 d2.print();                 System.out.println();             }         }       } } package com.mr; public class Demo1 {     String s;     int i, i2, i3;     private Demo1() {     }     protected Demo1(String s, int i) {         this.s s;         this.i i;     }     public Demo1(String... strings) throws NumberFormatException {         if (0 strings.length)            i Integer.valueOf(strings[0]);         if (1 strings.length)            i2 Integer.valueOf(strings[1]);         if (2 strings.length)            i3 Integer.valueOf(strings[2]);     }          public void print() {         // TODO Auto-generated method stub         System.out.println(s s);         System.out.println(i i);         System.out.println(i2 i2);         System.out.println(i3 i3);     } }   import java.lang.reflect.Constructor; import com.mr.Demo1; //例题16.1 访问成员变量  package com.mr;   public class Demo2 {     int i;     public float f;     protected boolean b;     private String s; } //例题16.2 import java.lang.reflect.Field; import com.mr.Demo2;   public class FieldDemo {     public static void main(String[] args) {         Demo2 example new Demo2();         Class exampleC example.getClass();         // 获得所有成员变量         Field[] declaredFields exampleC.getDeclaredFields();         for (int i 0; i declaredFields.length; i) { // 遍历成员变量             Field field declaredFields[i];             System.out.println(名称为 field.getName()); // 获得成员变量名称             Class fieldType field.getType(); // 获得成员变量类型             System.out.println(类型为 fieldType);             boolean isTurn true;             while (isTurn) {                 // 如果该成员变量的访问权限为private则抛出异常即不允许访问                 try {                     isTurn false;                     // 获得成员变量值                     System.out.println(修改前的值为 field.get(example));                     if (fieldType.equals(int.class)) { // 判断成员变量的类型是否为int型                         System.out.println(利用方法setInt()修改成员变量的值);                         field.setInt(example, 168); // 为int型成员变量赋值                     } else if (fieldType.equals(float.class)) { // 判断成员变量的类型是否为float型                         System.out.println(利用方法setFloat()修改成员变量的值);                         field.setFloat(example, 99.9F); // 为float型成员变量赋值                         // 判断成员变量的类型是否为boolean型                     } else if (fieldType.equals(boolean.class)) {                         System.out.println(利用方法setBoolean()修改成员变量的值);                         field.setBoolean(example, true); // 为boolean型成员变量赋值                     } else {                         System.out.println(利用方法set()修改成员变量的值);                         field.set(example, MWQ); // 可以为各种类型的成员变量赋值                     }                     // 获得成员变量值                     System.out.println(修改后的值为 field.get(example));                 } catch (Exception e) {                     System.out.println(在设置成员变量值时抛出异常 下面执行setAccessible()方法);                     field.setAccessible(true); // 设置为允许访问                     isTurn true;                 }             }             System.out.println();         }     } } 3.访问成员方法 利用Method 对象可以操纵相应的方法: 1.getMethods().   2.getMethods(String name, Class?...parameterTypes).   3.getDeclaredMethods()   4.getDeclaredMethods(String name, Class?...parameterTypes) 如果是访问指定的方法需要根据该方法的名称和入口参数的类型来访问。例如访问一个为print、入口参数类型依次为 String 型和 nt型的方法通过下面两种方式均可实现: bjectClass.getDeclaredMethod(print, String.class, int.class); objectClass.getDeclaredMethod(print, new Classl (String.class, int.class )); //例题16.3 import java.lang.reflect.*;   import com.mr.Demo3;   public class MethondDemo {     public static void main(String[] args) {         Demo3 demo new Demo3();         Class demoClass demo.getClass();         // 获得所有方法         Method[] declaredMethods demoClass.getDeclaredMethods();         for (int i 0; i declaredMethods.length; i) {             Method method declaredMethods[i]; // 遍历方法             System.out.println(名称为 method.getName()); // 获得方法名称             System.out.println(是否允许带有可变数量的参数 method.isVarArgs());             System.out.println(入口参数类型依次为);             // 获得所有参数类型             Class[] parameterTypes method.getParameterTypes();             for (int j 0; j parameterTypes.length; j) {                 System.out.println( parameterTypes[j]);             }             // 获得方法返回值类型             System.out.println(返回值类型为 method.getReturnType());             System.out.println(可能抛出的异常类型有);             // 获得方法可能抛出的所有异常类型             Class[] exceptionTypes method.getExceptionTypes();             for (int j 0; j exceptionTypes.length; j) {                 System.out.println( exceptionTypes[j]);             }             boolean isTurn true;             while (isTurn) {                 try {// 如果该方法的访问权限为private则抛出异常即不允许访问                     isTurn false;                     if (staticMethod.equals(method.getName()))                         method.invoke(demo); // 执行没有入口参数的方法                     else if (publicMethod.equals(method.getName()))                         System.out.println(返回值为 method.invoke(demo, 168)); // 执行方法                     else if (protectedMethod.equals(method.getName()))                         System.out.println(返回值为 method.invoke(demo, 7, 5)); // 执行方法                     else if (privateMethod.equals(method.getName())) {                         Object[] parameters new Object[] { new String[] { M, W, Q } }; // 定义二维数组                         System.out.println(返回值为 method.invoke(demo, parameters));                     }                 } catch (Exception e) {                     System.out.println(在执行方法时抛出异常 下面执行setAccessible()方法);                     method.setAccessible(true); // 设置为允许访问                     isTurn true;                 }             }             System.out.println();         }     } } 1.定义Annotation类型 1.在定义Annotation类型时也需要用到用来定义接口的 interface 2.下面的代码定义了员工只包含一个Annotation类型 public interface NoMenberAnnotation{ String value();
http://www.pierceye.com/news/109426/

相关文章:

  • 学风建设网站版块如何用visual studio做网站
  • 山东响应式网站设置字体颜色的网站
  • 美容院网站建设西安有关做网站的公司有哪些
  • 湛江做网站设计公司网络推广网站培训班
  • 大型网站建立萝岗微信网站建设
  • 门户网站建设发展趋势官网网站怎么创建
  • 企业网站如何做自然搜索phpcms 网站转移
  • 站内优化怎么做建设设计网站
  • 如何建设机器人教育网站上海有名的网络公司
  • 网站二级目录做网站淄博网站建设 很乱
  • 常州做网站企业海口网站开发建设
  • 做php网站用什么软件开发wordpress页面图片轮播图
  • 做网站页面大小多大8上的信息课做网站作业
  • 自己做微网站创欧科技 网站建设
  • 网站设计师大学学什么专业北京燕华工程建设有限公司网站
  • 广州专业网站建设企业wordpress 数据库修改
  • 淮南装饰公司网站建设seo 网站树
  • 设计素材下载网站网络营销课程设计报告
  • 安庆公司做网站搜索引擎收录提交入口
  • 城固网站建设wordpress主题谁的最好
  • 国外建站企业北京鑫创网站建设
  • 网站做视频wordpress插件手动升级
  • wordpress收不到网站没有收款接口网站怎么做收款
  • 信阳做网站推广用tornado做网站
  • 网站开发与数据库ppt成都优化网站建设
  • 毕业设计静态网站建设选题依据企业网络营销的优势
  • 网站图片动态换名网站充值支付宝收款怎么做
  • 蜘蛛网是个什么网站做特卖的购物网站
  • 从零学做网站古典 网站模板
  • h5网站模板开发网站后台哪些功能需要前端配合