当前位置:首页 > 技术 >

java中反射set方法和get方法(java通过反射获取类的属性)

来源:原点资讯(www.yd166.com)时间:2023-04-10 13:38:06作者:YD166手机阅读>>

Class类对象的获取

1、获得Class:主要有三种方法:

(1)Object–>getClass

(2)任何数据类型(包括基本的数据类型)都有一个“静态”的class属性

(3)通过class类的静态方法:forName(String className)(最常用)

package fanshe; public class Fanshe { public static void main(String[] args) { //第一种方式获取Class对象 Student stu1 = new Student();//这一new 产生一个Student对象,一个Class对象。 Class stuClass = stu1.getClass();//获取Class对象 System.out.println(stuClass.getName()); //第二种方式获取Class对象 Class stuClass2 = Student.class; System.out.println(stuClass == stuClass2);//判断第一种方式获取的Class对象和第二种方式获取的是否是同一个 //第三种方式获取Class对象 try { Class stuClass3 = Class.forName("fanshe.Student");//注意此字符串必须是真实路径,就是带包名的类路径,包名.类名 System.out.println(stuClass3 == stuClass2);//判断三种方式是否获取的是同一个Class对象 } catch (ClassNotFoundException e) { e.printStackTrace(); } } }

注意,在运行期间,一个类,只有一个Class对象产生,所以打印结果都是true;

三种方式中,常用第三种,第一种对象都有了还要反射干什么,第二种需要导入类包,依赖太强,不导包就抛编译错误。一般都使用第三种,一个字符串可以传入也可以写在配置文件中等多种方法。

Class类的方法

java中反射set方法和get方法,java通过反射获取类的属性(5)

getName、getCanonicalName与getSimpleName的区别

  • getSimpleName:只获取类名
  • getName:类的全限定名,jvm中Class的表示,可以用于动态加载Class对象,例如Class.forName。
  • getCanonicalName:返回更容易理解的表示,主要用于输出(toString)或log打印,大多数情况下和getName一样,但是在内部类、数组等类型的表示形式就不同了。

Constructor类及其获取对象方法

  • Constructor提供了一个类的单个构造函数的信息和访问。
  • Constructor允许在将实际参数与newInstance()与底层构造函数的形式参数进行匹配时进行扩展转换,但如果发生缩小转换,则抛出IllegalArgumentException 。

Constructor类的方法

java中反射set方法和get方法,java通过反射获取类的属性(6)

获取Constructor对象是通过Class类中的方法获取的,Class类与Constructor相关的主要方法如下:

java中反射set方法和get方法,java通过反射获取类的属性(7)

使用反射技术获取构造器对象并使用

java中反射set方法和get方法,java通过反射获取类的属性(8)

栏目热文

java中set的用法整理(java里set如何使用)

java中set的用法整理(java里set如何使用)

Set是Java集合类中的一部分,继承了Collection接口。特点:Set中的数据不允许重复。基本操作1、创建Set...

2023-04-10 13:25:06查看全文 >>

java中的get和set方法有什么用(javaget方法和set方法有什么用)

java中的get和set方法有什么用(javaget方法和set方法有什么用)

我们先来看看set和get这两个词的表面意思,set是设置的意思,而get是获取的意思,顾名思义,这两个方法是对数据进行...

2023-04-10 14:08:20查看全文 >>

java中set和get用法(java中set集合的用法)

java中set和get用法(java中set集合的用法)

对于 java 初学者来说,set 和 get 这两个方法似乎已经很熟悉了,这两个方法就是 JAVA 编程中的基本用法,...

2023-04-10 13:21:23查看全文 >>

java类的get和set方法是灰色的(javaget方法和set方法有什么用)

java类的get和set方法是灰色的(javaget方法和set方法有什么用)

对于 java 初学者来说,set 和 get 这两个方法似乎已经很熟悉了,这两个方法就是 JAVA 编程中的基本用法,...

2023-04-10 13:31:23查看全文 >>

java中set和get后的括号用法(java中set的用法详解)

java中set和get后的括号用法(java中set的用法详解)

对于 java 初学者来说,set 和 get 这两个方法似乎已经很熟悉了,这两个方法就是 JAVA 编程中的基本用法,...

2023-04-10 13:41:39查看全文 >>

java的set用法(java 什么时候使用set)

java的set用法(java 什么时候使用set)

序欢迎来到全网最完整的java进阶知识系列教程!!!每天定时更新!!!本期是Java进阶知识系列的第五讲,继上一讲Lis...

2023-04-10 13:59:33查看全文 >>

岗南水库最深多少米(岗南水库一般多深)

岗南水库最深多少米(岗南水库一般多深)

河北位于我国华北地区,西部和北部是高山,南部和东部是平原。本省属于温带大陆型季风气候,年均降水量500毫米左右,水资源紧...

2023-04-10 14:10:27查看全文 >>

河北第一大水库(河北十大水库排名)

河北第一大水库(河北十大水库排名)

旅游风物志,揽四海胜景,博人间风华。河北唐山,素有“京东宝地”之称,地貌复杂多样,整体来说,背山临海,位于迁西县的八面峰...

2023-04-10 14:08:24查看全文 >>

黄壁庄水库深度多少米(黄壁庄水库库容量多少)

黄壁庄水库深度多少米(黄壁庄水库库容量多少)

炎炎夏日,带上家人邂逅绿水青山,在大自然中感受清凉。或静坐在山顶,观云海涌动、星空灿烂;或立在岸边,看夕阳西下,享人生美...

2023-04-10 13:50:42查看全文 >>

王快水库水深多少米(王快水库的水主要来自哪里)

王快水库水深多少米(王快水库的水主要来自哪里)

■回眸百年党史 见证“治水”初心系列报道之四□本报记者 安亚静 邸志永 刘澜8月2日,王快水库溢洪道水声阵阵。库水从提起...

2023-04-10 14:01:07查看全文 >>

文档排行