首页 > 试题广场 >

Java的反射,你目前主要用他做什么,Java的泛型,他的主

[问答题]
请问Java的反射,你目前主要用他做什么,Java的泛型,他的主要作用是什么
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。Java反射可以用来获取一个class对象或实例化一个class表示的类的对象,还可以获取构造方法,成员变量,成员方法。 java中泛型的引入主要是为了解决两个方面的问题:1.集合类型元素在运行期出现类型装换异常,增加编译时类型的检查,2.解决的时重复代码的编写,能够复用算法。下面通过例子来说明编译器的类型检查。
发表于 2019-04-30 22:26:14 回复(0)
更多回答
反射主要用它来获取运行期的对象数据,例如我的接口需要校验签名,不可能每个接口都要写一遍校验,最好的方式是使用aop来拦截调用,拿到一个上下文对象,要从这个对象里获取字段信息就必须通过反射方式;
泛型可以定义安全的数据结构,好比说我们事先约定好我传入什么类型,你接受什么类型,这样等到我获取的时候你给我的就一定是我要的类型,不会出现类型转换失败,至于为什么需要泛型?因为它可以帮我简化很多代码。比方说我要定义一个列表分页查询返回数据的类型,一般会给出 { (int) dataCount [总数量],(List<T>) dataList [数据集合] },这个数据集合其实就是一个泛型,因为我要查的数据集可能会有多种类型(不同的表),因此这里就需要定义一个泛型,而不用我重复定义很多分页查询结果类型,大大简化了代码
发表于 2018-12-25 12:55:14 回复(2)
反射的用途 1. 各种开发框架中,如Spring。 2. 创建数据库链接时,如Class class=Class.forName(“com.java.dbtest.TestConnection”) 3.在IDE中对象.属性,这时候会用到反射
发表于 2019-02-21 17:08:11 回复(0)
反射技术:其实就是动态加载一个指定的类,并获取该类中的所有的内容。而且将字节码文件封装成对象,并将字节码文件中的内容都封装成对象,这样便于操作这些成员。简单说:反射技术可以对一个类进行解剖。
发表于 2019-04-26 23:14:00 回复(0)
java反射技术,可以动态创建对象,提取类中的方法,在框架中比较常见。
java的泛型,可以提高程序可扩展性,并且在编写程序时方便检查错误,将运行时异常提前为编译时异常。使数据类型安全,不会出现强制转换失败
发表于 2019-05-06 19:45:15 回复(0)
泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。
好处:
1,类型安全。
2,消除强制类型转换。
3,潜在的性能收益。
发表于 2019-05-04 22:35:00 回复(0)
反射技术:其实就是动态加载一个指定的类,并获取该类中的所有的内容。而且将字节码文件封装成对象,并将字节码文件中的内容都封装成对象,这样便于操作这些成员。简单说:反射技术可以对一个类进行解剖。
发表于 2019-04-25 18:44:30 回复(0)
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。Java反射可以用来获取一个class对象或实例化一个class表示的类的对象,还可以获取构造方法,成员变量,成员方法。 java中泛型的引入主要是为了解决两个方面的问题:1.集合类型元素在运行期出现类型装换异常,增加编译时类型的检查,2.解决的时重复代码的编写,能够复用算法。下面通过例子来说明编译器的类型检查。
发表于 2019-04-25 18:21:16 回复(0)
反射技术:其实就是动态加载一个指定的类,并获取该类中的所有的内容。而且将字节码文件封装成对象,并将字节码文件中的内容都封装成对象,这样便于操作这些成员。简单说:反射技术可以对一个类进行解剖。
发表于 2019-04-25 17:24:44 回复(0)
java的泛型是指定数据的类型
发表于 2019-04-25 15:40:41 回复(0)
Ly~头像 Ly~
反射也就是说,在编译时,你获取了一个指向某个并不存在你的程序空间中的对象的引用; 事实上在编译时你的程序无法获知这个对象所属的类. java附带的库java.lang.reflect包含了FIeld,Method,Constructor类.这些类型的对象 是由jvm在运行时创建的,用以表示未知类里对应的成员.你就可以使用Constructor创建 新的对象,用get()和set()方法读取和修改与Field对象关联的字段,用invoke()方法调用 与Method对象关联的方法. 反射常用在类的反向控制,例如AOP 泛型的使用 java中的泛型主要使用在类,方法,与接口中。首先,我们来简单的看看在类上的使用: 1 2 3 4 5 6 7 8 9 10 11 class Factory<t>{ private T value; public T getValue() { return value; } public void setValue(T v) { this.value = v; } } 添加测试方法: 1 2 3 Factory<string> f = new Factory<string>(); f.setValue("factory in use"); System.out.println(f.getValue()); 泛型接口的使用: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 interface MyInterface<t>{ void show(T t, U u); } class ShowTest implements MyInterface<string>{ @Override public void show(String t, Integer u) { System.out.println(t); System.out.println(u); } } 泛型类型参数作用于类上的时候主要是对多个字段及方法签名之间的类型约束。作用于方法的时候主要是对方法的的多个参数做相应的约束</string></t></string></string></t>
发表于 2019-04-25 12:17:17 回复(1)