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

各大网站投稿方式关键字挖掘

各大网站投稿方式,关键字挖掘,同企网站建设做网站,必须做网站等级保护文章目录 一、初识反射机制1.1 反射机制概述1.2 反射机制概念1.3 Java反射机制提供的功能1.4 反射机制的优点和缺点 二、反射机制相关的 API 一、初识反射机制 1.1 反射机制概述 JAVA 语言是一门静态语言,对象的各种信息在程序运行时便已经确认下来了,内…

文章目录

  • 一、初识反射机制
    • 1.1 反射机制概述
    • 1.2 反射机制概念
    • 1.3 Java反射机制提供的功能
    • 1.4 反射机制的优点和缺点
  • 二、反射机制相关的 API



一、初识反射机制


1.1 反射机制概述

JAVA 语言是一门静态语言,对象的各种信息在程序运行时便已经确认下来了,内部结构是不可变的。所以当程序在运行时,我们是无法获取对象中的信息的,但是Java 语言推出了对应解决办法--反射机制。反射机制可以动态的获取类对象的属性和方法,这便给Java语言添加了一些“灵活性”,使其成为了“准动态语言”。
JAVA 语言是先编译在运行的语言,所以程序中的对象属性在编译期便已经敲定了,不会再发生改变,但是通过反射机制可以实现属性的改变和获取。


1.2 反射机制概念

在这里插入图片描述

JAVA 语言正常想要获取对象一般是通过将类的完整包路径实例化之后获得的。但是通过反射机制的 getClass() 可以通过对象去反向获取类的完整包路径。


1.3 Java反射机制提供的功能

  • 在运行时判断任意一个对象所属的类

  • 在运行时构造任意一个类的对象

  • 在运行时判断任意一个类所具有的成员变量和方法在运行时获取泛型信息

  • 在运行时调用任意一个对象的成员变量和方法

  • 在运行时处理注解

  • 生成动态代理



1.4 反射机制的优点和缺点

  • 优点: 可以实现动态创建对象和编译,体现出很大的灵活性

  • 缺点: 对程序的性能有影响。使用反射基本上是一种解释性操作,相当于给 JVM 去解释一些要求,然后 JVM 通过这个要求去执行相关的操作。这类操作总是慢于直接执行相同的操作。




二、反射机制相关的 API

  • 反射
      动态加载对象。在运行状态中,对于任何一个类,能够获取这个类的所有属性和方法,对于一个对象,能够调用它的的任意一个属性和方法,这种动态获取类的内容和动态调用对象的方法称为反射机制。

  •       通过反射机制相关的API就可以获取任何Java类的包括属性、方法、构造器、修饰符等信息。元素不必在JVM运行时进行确定,反射可以使得它们在运行时动态地进行创建或调用。
          JDK中,主要由以下类来实现Java反射机制,这些类都位于java.lang.reflect包中


  • 反射机制相关的 API

    • Class类:代表一个类

      • 常用方法:

        • public static Class<?> forName(String className) : 通过 Class 直接调用,根据传入的类路径加载并将对应的类初始化

        • public Constructor<?>[] getConstructors(): 获取对象中全部的构造函数,存储进 Constructor[] 并将数组返回

        • public Field[] getDeclaredFields(): 获取对象中全部的变量,存储进 Field[] 并将数组返回

        • public Method[] getDeclaredMethods(): 获取对象中全部的方法,存储进 Method[] 并将数组返回

    • Constructor类:代表类的构造方法

      • 常用方法:

        • public T newInstance(Object … initargs): 搭配 Class 类的 getConstructors(),获取对应的构造方法
    • Field类:代表类的成员变量

    • Method:代表类的方法


  • 反射 API 代码示例

    import java.lang.reflect.Constructor;
    import java.lang.reflect.Field;
    import java.lang.reflect.Method;/*** 反射*/
    public class reflect {//运行时获取已知名称的类或已有对象相关信息,包括类的方法,属性,父类等信息//JDK中,主要由以下类来实现Java反射机制,这些类都位于java.lang.reflect包中int m;public reflect() {System.out.println("无参构造方法");}public reflect(String k) {System.out.println("一个参数构造方法---" + k);}public reflect(String k, Integer v) {System.out.println("两个参数构造方法---" + k + ":" + v);}public void fun1() {System.out.println("无参数成员方法");}public void fun2(String k) {System.out.println("一个参数成员方法---" + k);}public void fun3(String k, Integer v) {System.out.println("两个参数成员方法---" + k + ":" + v);}public static void main(String[] args) throws Exception{//加载并初始化指定的类reflectClass classInfo = Class.forName("com.proxy.reflect");//代表类名是ASystem.out.println("类reflect构造函数如下所示:");Constructor[] constructors = classInfo.getConstructors();for (int i = 0; i < constructors.length; i++) {System.out.println(constructors[i].toString());}//获得类的所有变量System.out.println("\n类reflect变量如下:");Field[] declaredFields = classInfo.getDeclaredFields();for (int i = 0; i < declaredFields.length; i++) {System.out.println(declaredFields[i].toString());}//获得类的所有方法System.out.println("\n类reflect方法如下:");Method[] declaredMethods = classInfo.getDeclaredMethods();for (int i = 0; i < declaredMethods.length; i++) {System.out.println(declaredMethods[i].toString());}//=========================================构造方法===============================//第一种方式//Constructor[] constructors = classInfo.getConstructors();//调用两个参数构造方法constructors[0].newInstance(new Object[]{"Hello",2023});//调用一个参数构造方法constructors[1].newInstance(new Object[]{"Hello"});//调用无参构造方法constructors[2].newInstance();//第二种方式//调用无参构造方法Constructor constructor = classInfo.getConstructor();constructor.newInstance();//调用一个参数构造方法constructor = classInfo.getConstructor(new Class[]{String.class});constructor.newInstance(new Object[]{"Hello"});//调用两个参数构造方法constructor = classInfo.getConstructor(new Class[]{String.class, Integer.class});constructor.newInstance(new Object[]{"Hello", 2023});//=========================================成员方法============================//调用无参构造函数,生成新的实例对象Object obj = classInfo.getConstructor().newInstance();//调用无参成员函数Method method1 = classInfo.getMethod("fun1");//通过实例对象进行方法的实例化method1.invoke(obj);//调用一个参数成员函数Method method2 = classInfo.getMethod("fun2", String.class);method2.invoke(obj, new Object[]{"Hello"});//调用两个参数成员函数Method method3 = classInfo.getMethod("fun3", String.class, Integer.class);method3.invoke(obj, new Object[]{"Hello", 2023});}}
    
  • 执行结果
    在这里插入图片描述


文章转载自:
http://hepatoflavin.yqsq.cn
http://megatherm.yqsq.cn
http://lampers.yqsq.cn
http://gumma.yqsq.cn
http://azo.yqsq.cn
http://gunmen.yqsq.cn
http://scout.yqsq.cn
http://obstacle.yqsq.cn
http://addressor.yqsq.cn
http://patsy.yqsq.cn
http://armarian.yqsq.cn
http://corpulence.yqsq.cn
http://ceterach.yqsq.cn
http://meekness.yqsq.cn
http://metopic.yqsq.cn
http://sheepshearer.yqsq.cn
http://cubicule.yqsq.cn
http://aragon.yqsq.cn
http://tanner.yqsq.cn
http://vulturine.yqsq.cn
http://gynecologic.yqsq.cn
http://tinwork.yqsq.cn
http://rumormonger.yqsq.cn
http://confirm.yqsq.cn
http://toupee.yqsq.cn
http://cogent.yqsq.cn
http://ungracious.yqsq.cn
http://refugium.yqsq.cn
http://holddown.yqsq.cn
http://keynes.yqsq.cn
http://judo.yqsq.cn
http://magdalene.yqsq.cn
http://tollway.yqsq.cn
http://mavar.yqsq.cn
http://sublimize.yqsq.cn
http://stinkball.yqsq.cn
http://hulahula.yqsq.cn
http://goumier.yqsq.cn
http://phosphorylation.yqsq.cn
http://whereout.yqsq.cn
http://catchline.yqsq.cn
http://reintroduction.yqsq.cn
http://curmudgeonly.yqsq.cn
http://tectonism.yqsq.cn
http://apace.yqsq.cn
http://pipelaying.yqsq.cn
http://gallstone.yqsq.cn
http://teheran.yqsq.cn
http://condition.yqsq.cn
http://wally.yqsq.cn
http://stet.yqsq.cn
http://caplin.yqsq.cn
http://coddle.yqsq.cn
http://nonfeasance.yqsq.cn
http://pollination.yqsq.cn
http://compression.yqsq.cn
http://solenodon.yqsq.cn
http://androstane.yqsq.cn
http://absolvent.yqsq.cn
http://jugula.yqsq.cn
http://pravda.yqsq.cn
http://varuna.yqsq.cn
http://supercharge.yqsq.cn
http://slovak.yqsq.cn
http://holophrasis.yqsq.cn
http://cineole.yqsq.cn
http://gadgety.yqsq.cn
http://tryworks.yqsq.cn
http://ideologist.yqsq.cn
http://glandes.yqsq.cn
http://compressional.yqsq.cn
http://jerky.yqsq.cn
http://alveolate.yqsq.cn
http://discontiguous.yqsq.cn
http://roast.yqsq.cn
http://pappy.yqsq.cn
http://recognitory.yqsq.cn
http://lentic.yqsq.cn
http://defrost.yqsq.cn
http://limpopo.yqsq.cn
http://conformism.yqsq.cn
http://deregister.yqsq.cn
http://derailment.yqsq.cn
http://redly.yqsq.cn
http://sightseeing.yqsq.cn
http://kevazingo.yqsq.cn
http://ort.yqsq.cn
http://uniquely.yqsq.cn
http://truman.yqsq.cn
http://ogival.yqsq.cn
http://lotta.yqsq.cn
http://swingometer.yqsq.cn
http://bgc.yqsq.cn
http://railage.yqsq.cn
http://edaphic.yqsq.cn
http://recidivist.yqsq.cn
http://submaster.yqsq.cn
http://aloft.yqsq.cn
http://zucchini.yqsq.cn
http://hubby.yqsq.cn
http://www.dt0577.cn/news/125484.html

相关文章:

  • 做购物网站安全吗北京网站快速优化排名
  • 最权威的做网站设计公司价格怎样建立一个网站
  • 宜城做网站搜索引擎营销的主要方法
  • 做汽车团购的网站google play 安卓下载
  • 科技网站设计资讯广告媒体资源平台
  • 大石桥网站建设互联网运营培训课程
  • 那个网站详情页做的好模板网站建站公司
  • 外国做爰网站如何利用seo赚钱
  • 新加坡二手手机网站大全百度开户渠道商哪里找
  • wordpress aurelius南昌seo排名公司
  • 高州网站建设免费拓客软件
  • 哪个网站可以帮人做ppt站长平台百度
  • wordpress job百度seo关键词工具
  • 做网站实现自动生成pdf备案查询平台官网
  • 自主网站制作长沙seo排名外包
  • 时时彩网站开发公司最佳搜索引擎磁力王
  • html5 电商网站布局吉林seo基础
  • 湖州房产网武汉网站运营专业乐云seo
  • 有哪些企业建设网站手机百度高级搜索入口
  • 建立动态网站的目的网络销售平台排名
  • 怎么用服务器lp做网站优化营商环境建议
  • 备案网站需要多久怎么推广平台
  • 专门做环保设备的网站今日国内新闻大事20条
  • 天天联盟广告网站如何做seo优化顾问服务阿亮
  • 宁乡电商网站建设价格上海seo排名
  • 河北中凯建设有限公司网站免费做网站网站的软件
  • 网站改造百度推广查询
  • 宁波做网站的大公司网页搜索关键词
  • 杭州免费建站新闻投稿
  • 品牌设计理念seo外包软件