Java_反射_基础

1、第13讲

【01:15】Java 程序中获得 Class 对象通常有如下三种方式:
1、使用 Class 的 forName()
2、调用某个类的 class 属性
3、调用某个对象的 getClass()

【01:33】演示(上面3中方式 分别演示)
1、【02:20】Class class1 = Class.forName("cn.hsp.reflection.Cat");
2、【03:45】Class class2 = Cat.class;
3、【05:10】
Cat cat = new Cat();
Class class3 = cat.getClass();
【06:05】上面3个Class对象都是同一个 Class对象

2、第16讲

【10:15】通过反射,获取 Cat 类的 name 属性值
1、得到 Class对象,创建实例
2、【11:33】通过 clazz1 获取 cat1 对象的属性name值
Field field = clazz1.getField(属性名);
3、【13:30】Field 类
getModifiers 得到访问修饰符,例如 public、private
【14:50】通过 field 类得到值
ZC:不能通过 Field类 得到 字段的类型吗?(在17讲的【09:22】中有讲)
String nameValue = (String)field.get(对象实例);

【21:05】使用反射访问 private 类型的 属性值
【22:50】getField 改成 getDeclaredField(字段名);
field.setAccessible(true); // 暴力访问

时间: 2024-10-06 01:15:00

Java_反射_基础的相关文章

java_反射_及其简单应用(2016-11-16)

话不多说直接上代码 接口: package bean; /** * user接口 */ public interface User { public String getName(); public void setName(String name); } 父类: package bean; /** * 人 作为userImpl的父类 */ public class Person { private String name; public String city; public String g

java_语句_基础总结

java程序是由语句组成的.语句分为: 1 声明语句:通常是用于声明变量,数组,并为它们命名,有时还会赋予一个初始值; EX: int a; int a=0; int [] b=new int[N];(N代表数组里的元素个数) 2 赋值语句 将一个运算后的数值赋予一个变量; EX: a=1+1; 3 条件语句 根据条件真假执行不同的两个代码,它的结构通常是 if(判断条件){ 当判断条件为真时执行这里面的代码 }else{ 当判断条件为假时执行这里面的代码 }; 4 循环语句 只要条件为真,就不

Swift教程_基础技术_获取当前日期时间、日期时间格式化及转换

Swift教程_基础技术_类型转换(父子类转换:Int.Double.String转换) Swift教程_基础技术_获取当前日期时间.日期时间格式化及转换 1.获取当前日期时间 var nowDate = NSDate() var formatter = NSDateFormatter() formatter.dateFormat = "yyyy-MM-dd HH:mm:ss" var dateString = formatter.stringFromDate(nowDate) pri

第一天的代码练习_基础

//第一天的内容包括JAVA环境配置,数据类型的讲解,数据类型的运算.在环境配置中,要求在 cmd命令窗口下,在任何文件目录下,输入javac.exe,都能够出现正确的显示结果--就需要在环境变量 中设置 public class Test{      public static void main(String[] args){        //不能使用保留字.关键字       /*       变量定义的格式 :数据类型 变量名=初始化值       变量必须先赋值,后使用       

C#反射之基础应用实例总结

本文将反射的东西整理了一下 , 提供了最全面的东西 , 当然也是基础的东西 , 在学好了这一切的基础上 , 大家可以学习反射的具体插件等应用 首先我们建立一个类库 , 将它生成为 reflectPrj .dll, 代码如下: using System; using System.Collections.Generic; using System.Text; namespace reflectPrj { /// <summary> /// 接口 /// </summary> publ

微信小程序_基础组件大全

微信小程序_基础组件 微信小程序为小程序开发者提供了一系列小程序基础组件,开发者可以通过组合这些小程序基础组件进行微信小程序的快速开发. 微信小程序组件是什么?微信小程序组件怎么用? 小程序组件是视图层的基本组成单元.小程序组件自带一些功能与微信风格的样式.一个小程序组件通常包括开始标签和结束标签,属性用来修饰这个组件,内容在两个标签之内. <tagname property="value"> Content goes here ... </tagename>

阶段1 语言基础+高级_1-3-Java语言高级_09-基础加强_第2节 反射_5_反射_概述

str点后面能点出来很多的方法,这就是通过反射获取到的 原文地址:https://www.cnblogs.com/wangjunwei/p/11286030.html

JAVA_标识符_关键字_数据类型

标识符由字母.下划线“_”.美元符“$”或数字组成: 标识符应由字母.下划线“_”.美元符开头: JAVA标识符大小写敏感,长度无限制. 所有关键字都是小写英文: goto和const虽未使用,但也被保留. 常量 字符常量  'a' 字符串常量  "hello world" 变量 是内存中的一小块区域,使用变量名来访问这块区域,因此每一个变量使用前必须先(申请)声明,然后必须进行赋值,才能使用. double  d1, d2, d3 = 0.123; 成员变量 局部变量 数据类型 基础

鸟哥的Linux私房菜_基础版_学习笔记8:第十二章 正规表示法与文件格式化处理

11.2 基础正规表示法 11.2.1 语系对正规表示法的影响 由於不同语系的编码数据并不相同,所以就会造成数据撷取结果的差异了. 举例来说,在英文大小写的编码顺序中,zh_TW.big5 及 C 这两种语系的输出结果分别如下: LANG=C     时:0 1 2 3 4 ... A B C D ... Z a b c d ...z LANG=zh_TW 时:0 1 2 3 4 ... a A b B c C d D ... z Z 特殊符号 代表意义 [:alnum:] 代表英文大小写字节及