没有合适的资源?快使用搜索试试~ 我知道了~
底层的技术-----反射技术 String类的是一种特殊的引用类型,特殊在创建方式 通过字符串常量赋值String str = “abc”; 通过new对象 String str = new String(“abc”); String不可变特性:长度、内容 Private final char value[]; 内容不是真的不可变,可以通过反射的技术进行修改 反射 reflect 类是用来描述一组对象 反射机制可认为是用来描述一组类--------可以与File对比着学习 反射的实际应用: String----类---实例化成对象 设计一个方法,给一个字符串(类)返回一个对象,对象里面还有属性值 例如考试系统中 Question类型 ATM系统 User类型 Question和User类型都是我们自定义的,这两个类的目的是为了存储值,更像个容器 Service Dao 实体(domain/javaBean/po/vo/pojo)—只用来存值,没有逻辑 设计一个工具,代替我们自己创建对象的过程 传递一个字符串帮我们创建一个对
资源详情
资源评论
资源推荐
反射机制
底层的技术-----反射技术
String 类的是一种特殊的引用类型,特殊在创建方式
通过字符串常量赋值 String str = “abc”;
通过 new 对象 String str = new String(“abc”);
String 不可变特性:长度、内容
Private final char value[];
内容不是真的不可变,可以通过反射的技术进行修改
反射 reflect
类是用来描述一组对象
反射机制可认为是用来描述一组类--------可以与 File 对比着学习
Class 用来描述类本身
Package 用来描述类所属的包
Field 用来描述类中的属性
Method 用来描述类中的方法
Constructor 用来描述类中的构造方法
Annotation 用来描述类中的注解(例如:Override)
1. 如何获取 Class---(三种方法)
a) Class clazz = Class.forName(“包名.类名”)
b) Class clazz = 类名.class;(看似属性,实则关键字)
c) 对象.getClass()
2. Class 中常用方法
getModifiers() 获取类的修饰符(包括特征修饰夫和访问权限修饰符)
返回值 int 类型,成倍增长 0,1,2,4,8,16,32,64,128…
0:默认不写 1:public 2:private 4:protected 8:static
16:final 32:synchronized 64:volatile 128:transient
256:transient 512:interface 1024:abstract
getName()—String:获取类全名,包名加类名
getSimpleName() –String:只获取该类名字
getPackage()—Package:->getName()获取包名
getSuperClass()—Class:获取当前类的父类
getInterfaces()—Class[]:获取当前类所有的父亲接口
getPackage()---Package: 获取当前类所属的包
getMethod(方法名,Class...)—Mothed:获取类中的方法
getClasses()----Class[]:获取类中的所有内部类
--------以上当前类的特征----------------以下的有用点---
newInstance()---Object:创建对象,通过造型多态,默认调用无参数的构造方法
getField(“属性名”)----Field:返回属性对象----前提公有的属性
getFields()----Field[]:所有属性(注意继承过来的属性也会在该数组)
以上的两个方法只能获取公有的属性,还包含继承过来的父类属性
getDeclaredField(“属性名”)---Field
getDeclaredFields()---Field[]
user__kk
- 粉丝: 631
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- JavaScript《基于自动分析数据并给出营业建议的餐厅管理系统(接入AI) 》+源代码+项目说明及资料
- 355670834783295707ad04e-427f-4cde-9589-e578224a8459.zip
- 动态sql解析引擎,类似mybatis动态sql的功能
- EDA365-Skill-V2.5安装包,支持Allegro17.x版本
- C# 常用单词汇总,常用单词汇总
- 【ERP标准流程-标准流程-库内业务管理】(DOC 14页).doc
- Python《数据库期末作业-餐厅点单系统 》+源代码+设计资料
- 学生成绩管理系统(C++课程设计
- 双指针法判断链表有环-go语言实现
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0