类型信息和泛型

来源:互联网 发布:传感器数据采集器 编辑:程序博客网 时间:2024/06/05 07:31

类型信息就是类的信息,java文本文件在经过编译后就会生成一个.class的二进制文件;


java文件与.class文件是一对多的关系;


事实上,每个java类文件都会有一个public staticfinal .class 的属性,是Class类(泛型类来的)的实例,用来记录类型信息的;


引用static final XX 的静态常量是不会加载对应的类的,new是加载类的标志;


用类加载器加载类;

加载子类时,父类也会被加载;


Constructor是专门用来描述构造函数的类;

Method是专门用来描述方法的类;

native方法是用来调用非java语言的接口;

Field是专门用来描述类属性的类;


类型信息的一个应用是----在程序运行时判断对象和类的信息;

判断方式:AA instanceof BBAA是不是BB类的实例;

Class里有一个方法,isInstance(),用于判断某个对象是不是这个类的实例;


类型信息另一个重要应用----反射,说白了,就是在程序运行时,对于任意一个类,都可以知道它的属性和方法是什么,对于任意一个对象,都能调用它的任意方法和修改它的属性;


反射的目的是,在一个类名或者对象名的列表配置文件中动态选取的类或对象,可以用来构造对象或者调用方法(forName,Class.newInstance无参/Constructor.newInstance有参,Method.invoke,Field.set,XX.setAccessible);


代理类:将方法进行封装,添加一些额外的,不属于该方法去执行的操作。

 

泛型的目的是提高代码的利用率;

?代表通配符,等于是泛型变量;

泛型边界,就是用extends和super去修饰泛型,使泛型有了约束的继承关系。

原创粉丝点击