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
随机推荐
- Ruby map、each、select、inject、collect 、detect reference
参考 https://ruby-china.org/topics/26718 map:(collect是map的别名函数) 对数组中每个元素进行表达式操作,原始数组不会被改变,返回执行表达式结果的新数 ...
- spring的依赖注入(DI)、控制反转(IOC)和面向切面(AOP)
在spring的配置文件增加 <context:component-scan base-package="com.jmu.ccjoin.service"/> <c ...
- 修改DEDE系统数据库表前缀
1,修改之前我们先备份下数据(哥们儿之前没有备份,我艹,害苦了),备份的操作过程是:网站后台------系统------数据库备份/还原-------然后按提交.默认保存的数据在data/backup ...
- 适配器、工厂模式、线程池、线程组、互斥锁、Timer类、Runtime类、单例设计模式(二十四)
1.多线程方法 * Thread 里面的俩个方法* 1.yield让出CPU,又称为礼让线程* 2.setPriority()设置线程的优先级 * 优先级最大是10,Thread.MAX_PRIORI ...
- 如何反编译silverlight
@years(945060991) 15:10:28问一下 如何反编译silverlight观,一世沧桑如画♥(752816388) 15:10:46解压就行@years(945060991) ...
- 禁止屏幕旋转并同时解决以至于导致Activity重启的方法
1.禁止屏幕旋转在AndroidManifest.xml的每一个需要禁止转向的Activity配置中加入android:screenOrientation属性. //landscape(横向)port ...
- fastText(二):微博短文本下fastText的应用(一)
众所周知,微博中的内容以短文本居多,文本内容随意性极强,这给建模增加了很大的难度.针对这一问题,这里分享一下fastText在微博短文本的应用. 任务目标简单介绍一下整个任务的目标:给微博内容打上标签 ...
- 构建Docker平台【第一篇】环境准备
主机信息 操作系统版本 CentOS-7-x86_64-Everything-1511 主机A 192.168.6.128 主节点 主机B 192.168.6.129 主节点 主机C 192.16 ...
- background-clip与background-origin
规定背景的绘制区域 浏览器支持 IE9+.Firefox.Opera.Chrome 以及 Safari 支持 background-clip 属性. 注释:Internet Explorer 8 以及 ...
- In-App Purchase Programming Guide----(二) ---- Designing Your App’s Products
Designing Your App’s Products A product is something you want to sell in your app’s store. You creat ...