反射--笔记(第一篇)
直接代码理解
主要说明:反射的三种方式,反射方法。调用方法
public static void main(String[] args) throws Exception {getClassWays();Product product = (Product) Main.generateObj("demo.reflection.Product");product.doStr();System.out.println(product);Class clz = Product.class;//Declare:声明,因为一个类的方法可以简单的分为//自己写的(Declare)和父类继承过来的//getDeclareMethods是得到自己声明的所有方法Method[] declaredMethods = clz.getDeclaredMethods();for (Method declaredMethod : declaredMethods) {System.out.println(declaredMethod.getName());}//得到某一个具体方法。//得到某一个具体的方法,传递的参数,第一个是方法的名字//第二个是方法的参数类型,有多少个就传递多少个。如果没有就不用写。//为啥这样设计,是因为java语言有重载这种技术Method doStr = clz.getDeclaredMethod("doStr",String.class);//invoke:调用,方法的调用分为实例方法的调用和静态方法的调用//因为现在得到的是一个实例方法,所以需要传递对象//invoke方法的第一个参数就是对象,第二个参数就是方法的一系列的参数值doStr.invoke(product,"你好");System.out.println(doStr);}public static Object generateObj(String className) throws Exception {//这种创建方法,能成功的前提是此类有一个默认构造函数//不然会有异常:NoSuchMethodExceptionClass clz = Class.forName(className);Object instance = clz.newInstance();return instance;}public static void getClassWays() throws Exception{//第一种方法是,依据类来得到其class对象Class c1= Product.class;//第二种:利用forName方法加载类,并返回类对象//如果此类已经被加载过,就不会重复加载Class c2 = Class.forName("demo.reflection.Product");//第三种方法:依据类的对象得到其类对象Product p = new Product();Class c3 = p.getClass();} }
转载于:https://www.cnblogs.com/LixiaoFeng1650062546/p/11377908.html
反射--笔记(第一篇)相关推荐
- 读书笔记第一篇:知乎高赞回答
自从今年以来,生活发生了极大变化,自己也进入了30大关,开始奔四了.最近总觉得自己一事无成,无论物质还是精神上都没有得到满足,而且自己一个游戏程序员,越来越觉得逐渐被淘汰.所以想到的第一个挣扎的办法, ...
- 《鸟哥的Linux私房菜》个人学习笔记-第一篇
<鸟哥的Linux私房菜>个人学习笔记-基础篇 这是一篇一个linux菜鸡自学的笔记 csdn上的各位大手子们好,本人实习生一枚最近想自己深入学习下linux,所以在社区里发博客,希望能记 ...
- bootloader学习笔记---第一篇以stm32为例
目录 一.bootloader的任务 二.bootloader开发的基础知识 段的概念 重定位的概念 散列文件的概念 异常向量(待补充) 三.最简单的bootloader程序 四.使用汇编跳转 五.备 ...
- android内存加载dex,安卓8.1版本dex加载流程笔记--第一篇:oatfile,oatdexfile与dexfile...
本帖最后由 L剑仙 于 2020-3-1 18:53 编辑 看雪发一遍了,在52再发一次 菜鸟最近初学脱壳,必须得先搞明白dex的加载流程,才能搞懂哪里到了脱壳的时机.n6装的8.1,最近跟了一遍8. ...
- [Python笔记]第一篇:基础知识
本篇主要内容有:什么是python.如何安装python.py解释器解释过程.字符集转换知识.传参.流程控制 初识Python 一.什么是Python Python是一种面向对象.解释型计算机程序设计 ...
- 《人件集》阅读笔记第一篇
<人件集>01 第一部分--团队开发 本部分主要讲了在决策时,团队决策相关建议.研究表明,集体的决策比集体中的个体独立做选择更具有风险倾向.在做决策和解决问题时,团队有一种均衡的效果,这会 ...
- 编程学习笔记(第一篇)面向对象技术高级课程:绪论-软件开发方法的演化与最新趋势(1)...
软件工程的课程,对于从事大中型的软件开发是至关重要的一门课程. <面向对象技术高级课程>深入.系统.完整地讲解当今主流的面向对象软件开发方法的分析.设计.实现及重构方法,深入讲解UML语言 ...
- python求最小值不能使用min和sotred_Python随手笔记第一篇(2)之初识列表和元组...
Python中,列表和元组是一种数据结构:序列,序列中的每个元素都被分配一个序号,元素的位置,第一原元素的位置为0,因此类推.序列是最基本的数据结构,列表和元组他们之间具有一定的区别,即列表可以修改, ...
- daliu_IT学习Android笔记第一篇--Android是什么?安卓的logo来源?安卓的发展过程?
Android是什么?安卓的logo来源?安卓的发展过程? 安卓的名字: Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公 ...
最新文章
- Linux软件安装包中devel与非devel包之间的区别
- 如何用Curl 来post xml 数据
- JAVA构造器的实际使用
- 【学习笔记】HTTPS概述
- 第十章 某些算法的分治法解释
- uni-app 调用接口封装文档
- 求从 1 到 100 之间所有奇数的平方和
- 给Android程序员的一些面试建议,帮你突破瓶颈
- hive表列字段显示
- 【Shiro第二篇】SpringBoot + Shiro实现用户身份认证功能
- 主角连击敌人处理:连击次数的显示(图片数字字体)---1
- index ffs、index fs原理考究
- 计算机主机如何睡眠,电脑如何设置睡眠
- 创建自己免费的论坛、博客网站
- 鹰眼智客地图采集,想采哪里采哪里。
- Low-Rank Solution of Lyapunov Equations(二)CF-ADI算法
- 怎样用cmd创建Windows计划任务
- Unity文字冒险游戏项目实战
- 原生php多表查询方法,ThinkPHP多表联合查询的常用方法
- 字符指针和整形指针简单分析,*,的作用。
热门文章
- java非阻塞io流_阻塞式和非阻塞io流初认识
- java里面string什么意思_java中string什么意思
- c 子类对象 访问父类对象受保护成员_面向对象三大特征: 继承
- c++ 返回空对象_python中file对象的常用方法
- Java实现穷举_LeetCode 28:实现strStr() Implement strStr()
- jdk8銝要onematch_JDK8老特性详解(二)
- ASP.NET的ASHX一般处理程序中Session为null且不能赋值
- jsp中提供的四种属性范围
- Eclipse的.properties文件输出中文成unicode编码
- python save保存图片到本地_python爬取网站上的图片并保存到本地