Java 5.0 泛型之 Java泛型无法向上转型
package Demo;
// Java泛型无法向上转型
class Info23<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 GenericsDemo23 {
// 该批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默。
/*
* @description "deprecation" 使用了不赞成使用的类或方法时的警告
*
* @description "unchecked" 执行了未检查的转换时的警告,例如当使用集合时没有用泛型 (Generics)
* 来指定集合保存的类型。
*
* @description "fallthrough" 当 Switch 程序块直接通往下一种情况而没有 Break 时的警告。
*
* @description "path" 在类路径、源文件路径等中有不存在的路径时的警告。
*
* @description "serial" 当在可序列化的类上缺少 serialVersionUID 定义时的警告。
*
* @description "finally" 任何 finally 子句不能正常完成时的警告。
*
* @description "all" 关于以上所有情况的警告。
*/
@SuppressWarnings("all")
public static void main(String args[]) {
Info23<String> i1 = new Info23<String>(); // 泛型类型为String
Info23<Object> i2 = null;
// i2 = i1; // 这句会出错 incompatible types
}
}
相关文档:
很久没有看JAVA了,随便找了几个题,已经都忘记了。
(1)JAVA和JAVAC 命令行
javac
-classpath,设定要搜索类的路径,可以是目录,jar文件,zip文件(里面都是class文件),会覆盖掉所有在CLASSPATH里面的设定。
-sourcepath, 设定要搜索编译所需java 文件的路径,可以是目录,jar文件,zip文件(里面都是java文件) ......
Java代码实现依赖注入
2009-01-15 08:18:55
标签:依赖注入 [推送到技术圈]
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://zhangjunhd.blog.51cto.com/113473/126545
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#de ......
在初始化一个类,生成一个实例的时候,newInstance()方法和new关键字除了一个是方法,一个是关键字外,最主要有什么区别?它们的区别在于创建对象的方式不一样,前者是使用类加载机制,后者是创建一个新类。那么为什么会有两种创建对象方式?这主要考虑到软件的可伸缩、可扩展和可重用等软件设计思想。
......
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 {
publ ......
通过Java反射调用方法
这是个测试用的例子,通过反射调用对象的方法。
TestRef.java
import java.lang.reflect.Method;
import java.lang.reflect.InvocationTargetException;
/**
* Created by IntelliJ IDEA.
* File: TestRef.java
* User: leizhimin
* Date: 2008-1-28 14:48:44 ......