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

vs2005做的网站转换为2012wordpress图床网站

vs2005做的网站转换为2012,wordpress图床网站,软文推广发稿平台,泰国用什么网站做电商(以下内容全部来自上述课程) 反射 反射允许对成员变量,成员方法和构造方法的信息进行编程访问。 就是获取里面的成员变量、构造方法和成员方法,idea中打代码跳出来的提示就是反射。 1. 获取class对象的三种方式 Class.for…

请添加图片描述
(以下内容全部来自上述课程)
在这里插入图片描述

反射

反射允许对成员变量,成员方法和构造方法的信息进行编程访问。
请添加图片描述
就是获取里面的成员变量、构造方法和成员方法,idea中打代码跳出来的提示就是反射。
请添加图片描述
请添加图片描述

1. 获取class对象的三种方式

  1. Class.forName(“全类名”); (最常用)
  2. 类名.class
  3. 对象.getClass();
    依次对应下述三个阶段。
    请添加图片描述
//1.第一种方式
//全类名:包名+类名
Class clazz1 = Class.forName("com.itheima.myreflect1.Student");
//2.第二种方式
Class clazz2 = Student.class;
//3.第三种方式
Student s = new Student(); 
Class clazz3 = s.getClass();

2. 反射获取构造方法

declared:有权限修饰符修饰的,就是所有的。
请添加图片描述

//1.获取class字节码文件对象
Class clazz = Class.forName("com.itheima.myreflect2.Student");
//2.获取构造方法
/* Constructor[] cons1 = clazz.getConstructors(); 
for (Constructor con : cons1){System.out.print1n(con);
}
Constructor[] cons2 = clazz.getDeclaredConstructors(); 
for (Constructor con : cons2){System.out.println(con);}*///无参构造  -- 看下面图
Constructor con1 = clazz.getDeclaredConstructor(); 
System.out.println(con1);

请添加图片描述

Constructor con4 = clazz.getDeclaredConstructor(String.class,int.class); 
//暴力反射:表示临时取消权限校验 
con4.setAccessible(true);
Student stu = (Student) con4.newInstance(...initargs:"张三"23);
System.out.println(stu);

3. 反射获取成员变量

请添加图片描述

//1.获取class字节码文件的对象
Class clazz = Class.forName("com.itheima.myreflect3.Student");
//2.获取所有的成员变量
/* Field[] fields = clazz.getDeclaredFields(); for (Field field : fields){
System.out.println(field);
}*/
//获取单个的成员变量
Field name = clazz.getDeclaredField( name: "name"); 
System.out.println(name);
//获取权限修饰符
int modifiers = name.getModifiers(); 
System.out.println(modifiers);
//获取成员变量的名字
String n = name.getName(); 
System.out.println(n);
//获取成员变量的数据类型
Class<?> type = name.getType(); 
System.out.println(type);
//获取成员变量记录的值
Student s = new Student( name: "zhangsan", age: 23, gender: "男"); 
name.setAccessible(true);
String value =(String) name.get(s); 
System.out.println(value);
//修改对象里面记录的值 
name.set(s,"lisi");
System.out.println(s);

4. 反射获取成员方法

请添加图片描述

//1.获取class字节码文件对象
Class clazz = Class.forName("com.itheima.myreflect4.Student");
//2.获取里面所有的方法对象(包含父类中所有的公共方法)
/* Method[] methods = clazz.getMethods(); 
for (Method method : methods){System.out.println(method);}*/
// 获取里面所有的方法对象(不能获取父类的,但是可以获取本类中私有)
/*Method[] methods = clazz.getDeclaredMethods(); 
for (Method method : methods) {System.out.println(method);}*/
// 获取指定的单一方法
Method m = clazz.getDeclaredMethod( name: "eat", String.class); 
System.out.println(m);
// 获取方法的修饰符
int modifiers = m.getModifiers(); 
System.out.println(modifiers);
// 获取方法的名字
String name = m.getName(); 
System.out.println(name);
// 获取方法的形参
Parameter[] parameters = m.getParameters(); 
for (Parameter parameter : parameters){System.out.print1n(parameter);
}
//获取方法的抛出的异常
Class[] exceptionTypes = m.getExceptionTypes(); 
for (Class exceptionType : exceptionTypes) {System.out.println(exceptionType);
}

请添加图片描述

5. 反射的作用

  1. 获取一个类中所有的信息,获取到了之后,再执行其他的业务逻辑
  2. 结合配置文件,动态的创建对象并调用方法

动态代理

特点:无侵入式的给代码增加额外的功能
请添加图片描述

1. 程序为什么需要代理

对象如果嫌身上干的事太多的话,可以通过代理来转移部分职责。
对象有什么方法想被代理,代理一定要有对应的方法。
请添加图片描述
中介如何知道派要有唱歌,跳舞方法的代理呢? --> 接口

2. 如何为Java对象创建一个代理对象

请添加图片描述
请添加图片描述

http://www.dtcms.com/wzjs/834130.html

相关文章:

  • 360网站建设搜索wordpress 小程序框架
  • 中小企业网站优化建设工程教育网官网学员登录
  • 菠菜网站怎样做安全管理咨询师
  • 郑州网站模板网站百度商桥
  • 淘宝做图片的网站wordpress 多页面
  • 北京网站制作与营销培训网站搭建哪家比较好
  • 火山开发软件可以开发网站吗wordpress本地搬到服务器
  • 青州网站建设青州深圳公司 网站建设
  • 盆景网站建设swot分析自己建立一个网页
  • 品牌网站制作建设在线图片编辑器手机版
  • 网站做分屏好不好如何通过后台管理在网站的logo后台上加链接
  • 做擦边球的网站百度用户服务中心官网电话
  • 青海网站如何建设网站建设讠金手指 22
  • 西安网吧深圳seo技术
  • 在线免费看电视剧的网站石家庄营销网站建设价格
  • 沈阳网站建设方案推广野花香社区论坛
  • 牛商网网站建设多少钱福建省建设执业注册与管理中心网站
  • 网站建设名片游戏开发是什么
  • 天津网站建设优化企业中国互联网百强企业排名
  • 网站后台模板 html团队拓展活动游戏
  • 淘宝客网站api汽车类网站
  • 有什么网站做生鲜配送的企业级建站
  • 广告模板网站整页图片广告网站源码
  • 爱站工具包手机版网站首页制作方案
  • 设计网站制作做旅游攻略什么网站最好
  • 郑州做网站托管群晖wordpress目录
  • 公司网站管理系统wordpress两个头部
  • .net做网站邢台市住房和城乡建设局官方网站
  • 信誉好的扬州网站建设西宁招聘网站开发
  • 深圳大浪网站建设网站 错位