Java 5.0 泛型之 受限泛型
package Demo;
// 受限泛型
class Info17<T> {
private T var; // 定义泛型变量
public void setVar(T var) {
this.var = var;
}
public T getVar() {
return this.var;
}
public String toString() { // 直接打印
return this.var.toString();
}
}
public class GenericsDemo17 {
public static void main(String args[]) {
Info17<Integer> i1 = new Info17<Integer>(); // 声明Integer的泛型对象
Info17<Float> i2 = new Info17<Float>(); // 声明Float的泛型对象
i1.setVar(30); // 设置整数,自动装箱
i2.setVar(30.1f); // 设置小数,自动装箱
fun(i1);
fun(i2);
}
public static void fun(Info17<? extends Number> value) { // 只能接收Number及其Number的子类
System.out.println(value);
}
}
package Demo;
// 受限泛型
class Info21<T> {
private T var; // 定义泛型变量
public void setVar(T var) {
this.var = var;
}
public T getVar() {
return this.var;
}
public String toString() { // 直接打印
return this.var.toString();
}
}
public class GenericsDemo21 {
public static void main(String args[]) {
Info21<String> i1 = new Info21<String>(); // 声明String的泛型对象
Info21<Object> i2 = new Info21<Object>(); // 声明Object的泛型对象
i1.setVar("hello");
i2.setVar(new Object());
fun(i1);
fun(i2);
}
public static void fun(Info21<? super String> value) { // 只能接收String或Object类型的泛型
System.out.println(value);
}
}
相关文档:
java中的反射机制通过invoke方法来实现,这中间主要是是通过一下几个函数实现的
Class.forName ("类名")
Class.forName ("类名").newInstance
Class.getMethod ("调用的方法名",class[]{参数类列表})
instance.getClass
Method.invoke ("对象名","参数封装成的对象")
具体怎么实现,让我们来看一个简单的例子: ......
JAVA字符编码
今天终于把JAVA里一个比较头痛的问题——字符编码弄清晰了,所以写一篇文章来纪念一下,也为大家提供一点自己的心得。
众所周知,JAVA为了国际通用,用的是UNICODE来保存里面的字符。而UNICODE只是一个种字符集,字符的存储和表示要用到一定的字符编码格式,而与UNICODE对应的字符编码格式就是我 ......
String是比较特殊的数据类型,它不属于基本数据类型,但是可以和使用基本数据类型一样直接赋值,不使用new关键字进行实例化。也可以像其他类型一样使用关键字new进行实例化。下面的代码都是合法的:
String s1 = "this is a string!";
String s2 = new String("this is another string!");
另 ......
Java代码实现依赖注入
2009-01-15 08:18:55
标签:依赖注入 [推送到技术圈]
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://zhangjunhd.blog.51cto.com/113473/126545
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#de ......
package Demo;
// 普通泛型
class Point<T> { // 此处可以随便写标识符号,T是type的简称
private T var; // var的类型由T指定,即:由外部指定
public T getVar() { // 返回值的类型由外部决定
return var;
}
public void setVar(T var) { // 设置的类型也由外部决定
this.var = var;
}
}
publi ......