Java复习——反射和泛型的复习】的更多相关文章

反射 Class类 一个类被类加载器加载到内存之中,占有一片区域,这个空间里的内容就是类的字节码,不同的类的字节码是不一样的,这一个个空间页可以使用类来表示,这就是Class类. 根据这个概念可知:不同类对应的Class类是不一样的,同一类的不同对象对应的Class类则是一样的 九大预定义对象 这九大指的是基本的 Java 类型(boolean.byte.char.short.int.long.float 和 double)和关键字 void 也可以表示为 Class 对象,这里值得注意的一点是…
1.在这里有必要先提一句关于javabean,建议有一个构造器,而不是必须要写的,这是一个良好的习惯. 这样做肯定是有好处的,如果你的一个类写了带参的构造方法,而没有写空的构造方法,那么,如有有一个类继承了你这个类,那么这个类必须重写那个带参的构造方法,不写就会报错,所以这就会带来不必要的麻烦,所以我们一般都会写一个空的构造方法,这是一个良好的习惯. 以下是我使用泛型中,使用到的一个javabean,附上源码(其实没啥用,就是怕看的时候不知道User哪里的) package bean; publ…
github地址:https://github.com/hzphzp/HeartTrace_Server 我们的服务器端数据库并没有用sqllite, 而是直接用mysql,并且用JDBC直接进行操作,故会出现比较多的sql底层代码,而且我们的数据库中一共有7张表, 如果每一个表都写对应的增加,删除, 更新和查询等操作的话,会有很庞大的代码量. 同时,在我们的设计中,服务器端的数据库功能比较单一,主要是配合同步方案进行设计的. 故,我这里选择使用Java的泛型和反射的机制来进行数据库操作和数据的…
由于自己也不是特别的理解,不能做过多的解释,因为这些是问过老师做出来的,我还没有学到这里.如果有解释错误的 指出来我改正一下.见谅~(如果学到这里了,会完善) 工具类(SQLUtil)核心代码: package edu.nf.homeWork.utils; import java.lang.reflect.Field; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet;…
android使用泛型的地方很多,比如集成自BaseAdapter实现封装的Adapter,对常用操作进行封装,但是需要对传进来的数据进行处理,此时就使用到泛型,示例如下: public abstract class EasyAdapter<T> extends BaseAdapter { private LayoutInflater inflater; private int layoutId; private List<T> mlist = new ArrayList<T…
JAVA泛型的基本使用: /** * JAVA泛型的使用 * 定义:泛型的本质是参数化类型,就是说所操作的数据类型被指定为一个参数. * * 定义泛型方法的规则 * 1.所有泛型方法声明都有一个类型参数声明部分(由尖括号分割),该类型参数声明部分在方法返回类型之前. * 2.类型参数能被用来声明返回值类型,并且能作为泛型方法得到的实际参数类型的占位符. * 3.泛型方法的声明和普通方法一样,需要注意的是类型参数只能代表引用类型,不能是原始类型(像int,char,double,folat等) *…
最近项目中遇到了Json数据自动获取的功能,不然令人想起java的反射,已经很长时间没复习java了正好一块连java的这一块内容一起过一遍.java中的反射无疑就相当于java开发者的春天,在众多的框架中也能看到它的身影,可以在运行时检查类,接口.变量和方法等信息,可以实例化调用方法以及设置变量值等.本文主要以代码的形式直接将反射,泛型的运用展现出来. java中的反射 首先新建一个基础类Author. package bean; /** * * @author Super~me * Desc…
Java的反射非常强大,传递class, 可以动态的生成该类.取得这个类的所有信息,包括里面的属性.方法以及构造函数等,甚至可以取得其父类或父接口里面的内容. obj.getClass().getDeclaredMethods();//取得obj类中自己定义的方法, 包括私有的方法. obj.getClass().getMethods();//取得obj类中自己定义的方法及继承过来的方法, 但私有方法得不到. 同样, 对field也是一样,obj.getClass().getDeclaredFi…
很早之前写过利用泛型和反射机制抽象DAO ,对其中获取子类泛型的class一直不是很理解.关键的地方是HibernateBaseDao的构造方法中的 Type genType = getClass().getGenericSuperclass(); Type[] params = ((ParameterizedType) genType).getActualTypeArguments(); entityClass =  (Class)params[0]; 但是这个相对子类才会有用,而且那篇文章的…
实现方式 反编译:.class–>.java 通过反射机制访问java对象的属性,方法,构造方法等涉及类 java.lang.Class; java.lang.reflect.Constructor; java.lang.reflect.Field; java.lang.reflect.Method; java.lang.reflect.Modifier;Field Java反射中Field用于获取某个类的属性或该属性的属性值 反射获取类的三种方法 Class c1 = Class.forNam…