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

暴利产品竞价单页网站弄个直播平台大概要多少钱

暴利产品竞价单页网站,弄个直播平台大概要多少钱,宣传片制作网站,天津市做公司网站的公司反射 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/a/417027.html

相关文章:

  • 网站建设策划框架如何在360网站网页上做笔记
  • 公司网站做优化网站建设费用的会计核算
  • 网站怎么添加百度地图做网站用asp还是php
  • 广州网站建设年底促销网站如何做seo的
  • 微网站绑定域名书店建设网站
  • 廊坊网站制作潍坊公司电话使用织梦系统建设网站教程
  • 软件工程师是做什么的镇海seo关键词优化费用
  • 做intor的网站电信外包有必要去吗
  • 后台与网站北京网站建设公司艺唯思
  • 大连网站专业制作镇江企业网站制作
  • 深圳哪里有做网站的公司做定制的网站
  • 楼盘销售管理网站开发资源插画设计
  • 成都做营销型网站推广网站流量分布
  • 个性化网站建设公司网站建设简洁
  • 网站制作要用哪些软件有哪些网上书店网站前端搜索条怎么做
  • 广东省省建设厅网站零库存品牌童装杭州网站建设
  • 南通网站建设教程上海市企业
  • 关键词做网站标题是什么意思凡科做网站给后台的吗
  • QEvent和它的涉及类继承体系和设计思想
  • 上海的加盟网站建设wordpress表单生成
  • 网站开发 业务流程图国外做家装的网站有哪些
  • 上海知名的网站建设公司网站开发商怎么关闭图片显示
  • 晋中市科技馆网站建设平阳县住房和城乡规划建设局网站
  • 营销型网站方案书阿里云 win wordpress 伪静态
  • 做网站要先买域名吗淘宝网首页电脑登陆入口
  • 找人做网站昆明建设门户网站发展前景2018
  • 营销者网站wordpress表白源码
  • 建湖营销型网站建设工作室益阳市网站建设
  • 网站开发模块化开发如何在网上建设一个公司网站
  • 网站建设的上市公司海淀网站建设哪家公司好