AJPFX的反射学习笔记
反射是描述 数据结构的结构
属性、方法(数据)元数据
类(数据结构)描述数据的结构-->类也是特殊的对象---->元数据
CLASS类 描述数据结构的结构
在JAVA里面用Class 类 描述类的类 ---->
Method 类 描述类中的方法 ---->
反射得到描述数据额结构的数据的一种行为
Class类中有{
getPackage();//得到包
getName();//得到类名
getModerfy();//得到修饰符
Class getSuperclass();//得到父类 只有一个父类 返回一个Class <?>类型
Class gerInterface();//得到接口
Class[] getClasses();//得到多个子类 要用数组装
Filed[] getFiled();//获得一个类里面 所有的字段
Filed getFiled(String filename);//获得指定名称的字段
getConstructors();//获得构造器
getConstructor(Class...parameterType);//基本数据类型可以转变成一个CLASS
}
JAVA字段?
JAVA构造器?
表示Class类的对象
使用一个叫Class 的属性
Class<String> c=String.class //表示JVM里面表示String的字节码
Class<String> c2=String.class
System.out.println("c2");
System.out.println(c==c2); //得到true 用的是内存中的的同一份字节码
第二种
由于Class类里面没有构造函数 所以就有至少一个或者两个的静态函数 比如:forName()
forName(className,true,currentLoader)
其中className为完全限定名----->带有包名的name,比如java.lang.string;
Class<String> clazz=(Class<String>) Class.forName("java.lang.string")
Objiect getClasses()----->返回一个运行时的类型----->不是定义的类型
List<Stirng> lists=new ArrayList<String>;
lists s=new lists();
反射会以失去性能作为代价
框架用的多 性能失去多 因为框架就是用反射做的
AJPFX的反射学习笔记的更多相关文章
- Java 反射学习笔记
要学反射,先要了解Class这个类,Class是所有Java类的一个总称,Class的实例中存储的是一个类的字节码,获取Class的实例有三种方式: System.class new Date().g ...
- java学习——java中的反射学习笔记
Java--reflect 一.Class类的使用 什么是Class类? 1:在面向对象的世界中,万事万物皆对象. java语言中,静态的成员,普通数据类型类是不是对象呢? 是,对象!是类的对象! 类 ...
- java反射学习笔记
1.java反射概念 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功 ...
- [新手学Java]反射学习笔记
示例类 @SuppressWarnings("unused") public class Person { public String Name; private int Age; ...
- c# 反射学习笔记
首先了解C#反射的概念,反射是一个运行库类型发现的过程.通过反射可以得到一个给定程序集所包含的所有类型的列表, 这个列表包括给定类型中定义的方法.字段.属性和事件.也可以动态的发现一组给定类支持的借口 ...
- Java reflect 反射学习笔记
1. class 类的使用 万事万物皆对象 (基本数据类型, 静态成员不是面向对象), 所以我们创建的每一个类都是对象, 即类本身是java.lang.Class类的实例对象, 但是这些对象不需要 n ...
- java 反射---学习笔记
一.java的动态性 反射机制 动态编译 动态执行JavaScript代码 动态字节码操作 二.动态语言 动态语言 程序运行时,可以改变程序结构或变量类型,典型的语言:python.ruby.java ...
- 反射 学习笔记之Class类的使用
1 java世界中万事万物皆对象,除了2个特殊情况 int float等这些基本数据类型,(但是也都有Integer和Float等封装类做了弥补) java staic定义的,它不是属于对象的,而是 ...
- Java反射学习笔记01
随机推荐
- GUI界面资源
30个真棒的(免费iPhone,iPad IOS)的GUI 界面设计元素模板 做iphone开发的福音 创造力是指任何一种演示设计i的能力.无论是一个标志,旗帜,广告或一个完整的设计,能够注入的创 ...
- Codeforces Round #Pi (Div. 2) C. Geometric Progression
C. Geometric Progression time limit per test 1 second memory limit per test 256 megabytes input stan ...
- ES6 中的let 声明变量
1.let是声明的是块级变量,不会污染全局,一般条件与循环中会用到: 2.let 不可以变量提升: 3.let不遵循作用域,一个作用域内如果有该变量,就不会到全局去找,也不可以在一个作用域重复声明一 ...
- IO、FileInputStream、(二十)
1.IO流概述及其分类 * 1.概念(什么是IO?) * IO流用来处理设备之间的数据传输 * Java对数据的操作是通过流的方式 * Java用于操作流的类都在IO包中 * 流按流向分为两种:输入流 ...
- Couldn't connect to host, port: smtp.163.com, 25; timeout -1;
运行出现以下报错: Couldn't connect to host, port: smtp.163.com, 25; timeout -1; 也要设置端口 spring.mail.port=25
- codeforces A. Kitahara Haruki's Gift 解题报告
题目链接:http://codeforces.com/problemset/problem/433/A 题目意思:给定 n 个只由100和200组成的数,问能不能分成均等的两份. 题目其实不难,要考虑 ...
- html5--6-3 CSS语法2
html5--6-3 CSS语法2 实例 div包含p和h标签的时候可以,但是p标签包含h标签的时候不可以 学习要点 掌握引入外部样式表方法 插入样式的三种方法 内联样式表(行内) 内部样式表(st ...
- 调节音量的各个方法——AudioManager的使用
AudioManager类位于android.Media包中,该类提供访问控制音量和铃声模式的操作. //获取AudioManager实例对象 AudioManager audioManage = ( ...
- codevs3955最长严格上升子序列
传送门 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题目描述 Description 给一个数组a1, a2 ... an,找到最长的上升降子序列 ...
- Codeforces Round #419 (Div. 1) 补题 CF 815 A-E
A-C传送门 D Karen and Cards 技巧性很强的一道二分优化题 题意很简单 给定n个三元组,和三个维度的上限,问存在多少三元组,使得对于给定的n个三元组中的每一个,必有两个维度严格小于. ...