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

咖啡网页设计毕业论文seo技术培训价格表

咖啡网页设计毕业论文,seo技术培训价格表,淘宝电商怎么做,小程序免费制作平台代码反射 Java反射是一种强大的机制,允许程序在运行时动态地获取类的内部信息,并直接操作类的属性和方法。通过反射,开发者可以在运行时检查类、接口、字段和方法,并调用这些方法或访问这些字段,而无需在编译时知道它们的名…

反射

Java反射是一种强大的机制,允许程序在运行时动态地获取类的内部信息,并直接操作类的属性和方法。通过反射,开发者可以在运行时检查类、接口、字段和方法,并调用这些方法或访问这些字段,而无需在编译时知道它们的名称。反射主要通过java.lang.reflect包实现,提供了一系列类和接口,用于获取和操作类及其成员。反射在许多框架和库中被广泛使用,例如Spring框架的依赖注入。

反射在 Java 中主要通过 java.lang.reflect 包实现,这个包提供了一系列类和接口,用于在运行时获取和操作类及其成员。

以下是 Java 反射的一些主要功能和用法:

  1. 获取类的信息:
    1. 使用 Class.forName(String className) 动态加载类,并返回对应的 Class 对象。
    2. 使用 Object.getClass() 获取对象的 Class 对象。
    3. 使用 Class<?> clazz = MyClass.class; 获取类的 Class 对象(静态方式)。
  2. 获取类的成员信息:
    1. 使用 Class.getMethods() 获取类的所有公共方法。
    2. 使用 Class.getDeclaredMethods() 获取类的所有方法(包括私有方法)。
    3. 使用 Class.getFields() 获取类的所有公共字段。
    4. 使用 Class.getDeclaredFields() 获取类的所有字段(包括私有字段)。
  3. 创建对象实例:
    1. 使用 Class.newInstance() 创建类的实例(需要无参构造函数)。
    2. 使用 Constructor<T>.newInstance(...) 创建类的实例(可以使用带参数的构造函数)。
  4. 调用方法:
    1. 使用 Method.invoke(Object obj, Object... args) 调用对象的方法。
  5. 访问和修改字段:
    1. 使用 Field.get(Object obj) 获取对象的字段值。
    2. 使用 Field.set(Object obj, Object value) 设置对象的字段值。

参考:
                        Java的反射是什么?超详细+举例子+通俗易懂版!-CSDN博客

反射三种方式

获取反射中的Class对象

在反射中,要获取一个类或调用一个类的方法,我们首先需要获取到该类的 Class 对象。

在 Java API 中,获取 Class 类对象有三种方法:

第一种,使用 Class.forName 静态方法。当你知道该类的全路径名时,你可以使用该方法获取 Class 类对象。

Class clz = Class.forName("java.lang.String");

第二种,使用 .class 方法。

这种方法只适合在编译前就知道操作的 Class。

Class clz = String.class;

第三种,使用类对象的 getClass() 方法。

String str = new String("Hello");
Class clz = str.getClass();

通过反射创建类对象

通过反射创建类对象主要有两种方式:通过 Class 对象的 newInstance() 方法、通过 Constructor 对象的 newInstance() 方法。

第一种:通过 Class 对象的 newInstance() 方法。

Class clz = Apple.class;
Apple apple = (Apple)clz.newInstance();

第二种:通过 Constructor 对象的 newInstance() 方法

Class clz = Apple.class;
Constructor constructor = clz.getConstructor();
Apple apple = (Apple)constructor.newInstance();

通过 Constructor 对象创建类对象可以选择特定构造方法,而通过 Class 对象则只能使用默认的无参数构造方法。下面的代码就调用了一个有参数的构造方法进行了类对象的初始化。

Class clz = Apple.class;
Constructor constructor = clz.getConstructor(String.class, int.class);
Apple apple = (Apple)constructor.newInstance("红富士", 15);

通过反射获取类属性、方法、构造器

我们通过 Class 对象的 getFields() 方法可以获取 Class 类的属性,但无法获取私有属性。

Class clz = Apple.class;
Field[] fields = clz.getFields();
for (Field field : fields) {System.out.println(field.getName());
}

输出结果是:

price

而如果使用 Class 对象的 getDeclaredFields() 方法则可以获取包括私有属性在内的所有属性:

Class clz = Apple.class;
Field[] fields = clz.getDeclaredFields();
for (Field field : fields) {System.out.println(field.getName());
}

输出结果是:

name
price

与获取类属性一样,当我们去获取类方法、类构造器时,如果要获取私有方法或私有构造器,则必须使用有 declared 关键字的方法。

参考:大白话说Java反射:入门、使用、原理 - 陈树义 - 博客园

待完善

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

相关文章:

  • 网站建设收费价目表湖南网站建设seo
  • 浙江政府网站大建设方案企业网站推广渠道
  • 做网站应该用什么镜像百度域名注册查询
  • 建设绿色食品网站十大嵌入式培训机构
  • 纯ajax网站如何做seo泰州seo外包公司
  • 网站制作学费多少钱整站优化的公司
  • 二手站网站怎做360推广和百度推广哪个好
  • 政府网站开发价格体验营销是什么
  • 不用写代码做网站软件百度关键词点击排名
  • 表白网站在线制作软件正规的关键词优化软件
  • 如何做网站主页百度怎么做推广和宣传
  • 城乡企业建设部网站百度竞价seo排名
  • 微网站建设86215百度查询
  • 网站模板安卓网络媒体有哪些
  • 网站建设应考虑哪些方面的问题深圳靠谱网站建设公司
  • 多语言网站如何开发成都门户网站建设
  • 快速网站建设哪家好西安关键词网站排名
  • 数字营销理论东营seo整站优化
  • 邹城网站建设谷歌chrome官网
  • 重庆九龙坡营销型网站建设公司推荐图片搜索识图入口
  • 微信网站建设方案ppt企业网站seo案例
  • 云南文山特产seo排名优化软件价格
  • 网站建设方向市场分析精准引流推广公司
  • 公司做网站需要提供什么资料下载百度卫星导航
  • 高端终端网站设计类网站潍坊百度网站排名
  • 网页升级访问狼每日正常更新网上seo研究
  • 企业宣传网站制作链接买卖是什么意思
  • bc网站建设一条龙公司网站制作公司
  • 网页游戏网站mhn搜索引擎优化策略不包括
  • 查建筑材料的网站seo优化专员