网站首页 > java教程 正文
最近,@Python大星 的朋友小鹿参加了一场#Java#面试。
有一道题是这样的 >>>
【面试官问:你来说说反射如何获取私有对象的属性和方法?】
问题的答案我们文章中揭晓,先看下反射的基础知识,无论你是学动态代理,Spring 的 AOP 都离不开反射的知识。
反射
最开始接触反射这个概念,是在初中上物理--光的反射原理,是不是格外的熟悉亲切。
1、那什么是Java 的反射??
对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 java 语言的反射机制。
如果你对Java 的类不是很熟悉,可以移步>>
Java类的介绍
2、Java 反射的好处?
① 在程序运行过程中操作对象
② 可以解耦,提高程序的扩展,如动态代理
3、Java 代码运行过程
*.java 文件 >>> *.class 字节码文件 >>> 类加载
加载具体是指把类的.class 文件中的二进制数据读入到内存中,把它存放在运行时数据区的方法区内,然后再堆区创建一个 java.lang.Class 对象,用来封装类在方法区内的数据结构
4、获取 Class 对象的三种方式
① Class.forName ("全类名")
② 类名.class
③ 对象.getClass ()
5、Class对象的功能
可以查看 JDK中文在线文档
java.lang中
① 获取成员变量
输出结果:
如何获取私有变量的值?(面试)
② 获取构造方法
③ 获取成员方法
输出结果:
④ 获取全类名
String getName()
_0328_reflect.constructor.Person
猜你喜欢
- 2024-10-12 java基础之反射,反射API的组成,反射机制的应用场景
- 2024-10-12 Java反射与反射优化(java反射与反射优化的区别)
- 2024-10-12 尚学堂讲有关Java反射的那些事(java反射如何通俗易懂理解)
- 2024-10-12 Java面试手册:反射(java面试反射机制)
- 2024-10-12 如何通过反射获得方法的真实参数名(以及扩展研究)
- 2024-10-12 Java中的反射使用(java 反射使用)
- 2024-10-12 Java面试技术,这31个反射问题你都会嘛?(有答案)
- 2024-10-12 Java反射机制详解(java中的反射机制)
- 2024-10-12 测试开发必须掌握的知识点:Java反射
- 2024-10-12 Java反射机制(Java反射机制主要提供了以下哪些功能)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)