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

xx旅行社网站建设方案 企网站技术解决方案为申请虚拟主机广西柳州网站建设推荐

xx旅行社网站建设方案 企网站技术解决方案为申请虚拟主机,广西柳州网站建设推荐,陕西网站建设推广公司,百度医生1、概念#xff1a; 反射机制#xff1a;是在运行状态中#xff0c;对于任意一个类#xff0c;都能够知道这个类的所有属性和方法#xff1b;对于任意一个对象#xff0c;都能够调用它的任意属性和方法#xff1b;这种动态获取信息以及动态调用对象方法的功能称为 java…1、概念 反射机制是在运行状态中对于任意一个类都能够知道这个类的所有属性和方法对于任意一个对象都能够调用它的任意属性和方法这种动态获取信息以及动态调用对象方法的功能称为 java 语言的反射机制 他的工作原理是这样的当一个字节码文件加载到内存的时候 jvm会对该字节码进行解剖然后创建一个对象的Class对象jvm把字节码文件的信息全部都存储到该Class对象中我们只要获取到Class对象我们就可以使用该对象设置对象的属性或者调用对象的方法等操作。 2、获取Class类对象的三种方式 * 类名.class属性 * 对象名.getClass方法 * Class.forName(全类名)方法  3、原理图 4、案例获得Class类 class ReflectDemo {public static void main(String[] args) throws ClassNotFoundException {// 1.Class类中的静态方法forName(全类名)//全类名:包名 - 类名Class clazz1 Class.forName(com.bean.Student);System.out.println(clazz1);// 2.通过class属性来获取Class clazz2 Student.class;System.out.println(clazz2);// 3.利用对象的getClass方法来获取class对象// getClass方法是定义在Object类中.Student s new Student();Class clazz3 s.getClass();System.out.println(clazz3);System.out.println(clazz1 clazz2);System.out.println(clazz2 clazz3);} } 5、获得构造方法还可以获得成员属性Field、成员方法Method等这些获得私有的时用带上Declared的方法例如getDeclaredConstructor public class Student {private String name;private int age;// 私有的有参构造方法private Student(String name) {System.out.println(name的值为: name);System.out.println(private...Student的有参构造方法);}// 公共的无参构造方法public Student() {System.out.println(public...Student的无参构造方法);}// 公共的有参构造方法public Student(String name, int age) {System.out.println(name的值为: name age的值为: age);System.out.println(public...Student的有参构造方法);} }class ReflectDemo {public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException {System.out.println(获取所有公共构造方法对象的数组);method1();System.out.println(获取单个构造方法对象);method2();System.out.println(获取所有构造方法对象的数组);method3();System.out.println(获取单个构造方法对象);method4();}private static void method4() throws ClassNotFoundException, NoSuchMethodException {// ConstructorT getDeclaredConstructor(Class?... parameterTypes)//返回单个构造方法对象//1.获取Class对象Class clazz Class.forName(com.bean.Student);System.out.println(Stringint的构造);Constructor constructor clazz.getDeclaredConstructor(String.class,int.class);System.out.println(constructor);System.out.println(String的构造);constructorclazz.getDeclaredConstructor(String.class);System.out.println(constructor);}private static void method3() throws ClassNotFoundException, NoSuchMethodException {//ConstructorT getConstructor(Class?... parameterTypes)// 返回单个公共构造方法对象//1.获取Class对象Class clazz Class.forName(com.bean.Student);//小括号中,一定要跟构造方法的形参保持一致.Constructor constructor1 clazz.getConstructor();System.out.println(constructor1);Constructor constructor2 clazz.getConstructor(String.class, int.class);System.out.println(constructor2);//因为Student类中,没有只有一个int的构造,所以这里会报错. // Constructor constructor3 clazz.getConstructor(int.class); // System.out.println(constructor3);}private static void method2() throws ClassNotFoundException {//返回所有构造方法对象的数组//1.获取Class对象Class clazz Class.forName(com.bean.Student);Constructor[] constructors clazz.getDeclaredConstructors();for (Constructor constructor : constructors) {System.out.println(constructor);}}private static void method1() throws ClassNotFoundException {//返回所有公共构造方法对象的数组//1.获取Class对象Class clazz Class.forName(com.bean.Student);Constructor[] constructors clazz.getConstructors();for (Constructor constructor : constructors) {System.out.println(constructor);}} } 6、通过构造方法创建对象 方法名说明T newInstance(Object…initargs)根据指定的构造方法创建对象setAccessible(boolean flag)设置为true,表示取消访问检查 // T newInstance(Object... initargs)根据指定的构造方法创建对象 class ReflectDemo2 {public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException {method1();method2();method3();method4();}private static void method4() throws ClassNotFoundException, NoSuchMethodException, InstantiationException, IllegalAccessException, InvocationTargetException {//获取一个私有的构造方法并创建对象//1.获取class对象Class clazz Class.forName(com.fanshe.Student);//2.获取一个私有化的构造方法.Constructor constructor clazz.getDeclaredConstructor(String.class);//被private修饰的成员,不能直接使用的//如果用反射强行获取并使用,需要临时取消访问检查constructor.setAccessible(true);//3.直接创建对象Student student (Student) constructor.newInstance(zhangsan);System.out.println(student);}private static void method3() throws ClassNotFoundException, InstantiationException, IllegalAccessException {//简写格式//1.获取class对象Class clazz Class.forName(com.bean.Student);//2.在Class类中,有一个newInstance方法,可以利用空参直接创建一个对象Student student (Student) clazz.newInstance();//这个方法现在已经过时了,了解一下System.out.println(student);}private static void method2() throws ClassNotFoundException, NoSuchMethodException, InstantiationException, IllegalAccessException, InvocationTargetException {//1.获取class对象Class clazz Class.forName(com.fanshe.Student);//2.获取构造方法对象Constructor constructor clazz.getConstructor();//3.利用空参来创建Student的对象Student student (Student) constructor.newInstance();System.out.println(student);}private static void method1() throws ClassNotFoundException, NoSuchMethodException, InstantiationException, IllegalAccessException, InvocationTargetException, InvocationTargetException {//1.获取class对象Class clazz Class.forName(com.bean.Student);//2.获取构造方法对象Constructor constructor clazz.getConstructor(String.class, int.class);//3.利用newInstance创建Student的对象Student student (Student) constructor.newInstance(杨天真, 22);System.out.println(student);} } 7、反射和new 的区别 1、new的对象无法访问其中的私有属性反射出来的可以通过设置setAccessible()方法来省略访问权限符 2、new必须要知道类名而反射创建对象不需要知道类型也可以创建 本电子书目录《Java基础的重点知识点全集》
http://www.zqtcl.cn/news/449782/

相关文章:

  • 利用表单大师做网站网站备案证书放到哪里
  • 辽宁省建设科学研究院网站asp.net做网站 推荐书籍
  • 网站解决访问量超载做国外营销型网站设计
  • 思科中国网站开发案例网站如何进行建设
  • 网页设计与网站建设郑州大学怎么在传奇网站上做宣传
  • 中国建设银行重庆网站首页sns网站需求
  • 外网常用网站全网网站建设设计
  • 成都建设网站费用做数据库与网站招什么人
  • 最好的wordpress教程啥叫优化
  • 哪个网站做网销更好网站流量流出异常
  • 广州网站定做纸箱手工制作大全
  • 数据库修改网站后台密码cms三合一网站源码
  • 一般做哪些外贸网站丰南建设局网站
  • 网站如何被收录情况自己做的网站如何实现下载文件
  • 龙岩网站设计一般要多久深圳做自适应网站设计
  • 类似于拼多多的网站怎么做资料下载网站建设
  • 做商城网站哪里网站官网建设的价格
  • 网站怎么做用户体验山东富国建设投资有限公司网站
  • app ui模板网站首页改版影响优化
  • 周村网站制作哪家好网站设计基本要素
  • 网站制作与维护费用wordpress文章页不显示侧边
  • 嘉兴网站建设正规公司做室内设计人喜欢的网站
  • 入侵dedecms网站管理员密码百度注册域名免费建站
  • 找晚上做的工作去哪个网站企业开发软件公司拓展方案
  • 济宁建站公司wordpress博客入门
  • 做外贸需要网站wordpress app 打包
  • 免费网站站长查询丽水微信网站建设公司
  • 广州品牌网站建设先做网站 先备案
  • jsp系统网站建设带源代码梧州网页设计
  • 二手书籍交易网站开发方式关键词seo排名优化如何