- 浏览: 1364127 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (551)
- 计划 (4)
- java (115)
- oracle (60)
- ajax (3)
- javascript (64)
- 计算机操作技巧集 (11)
- 近期关注话题 (10)
- 随想 (13)
- html (6)
- struts (15)
- hibernate (16)
- spring (2)
- game (0)
- Eglish (10)
- DisplayTag (6)
- jsp (18)
- css (3)
- eclipse (3)
- 其他知识 (8)
- 备用1 (12)
- 备用2 (1)
- 笑话-放松心情 (9)
- 设计 (1)
- 设计模式 (1)
- 数据结构 (0)
- office办公软件 (5)
- webwork (0)
- tomcat (2)
- MySql (1)
- 我的链接资源 (5)
- xml (2)
- servlet (0)
- PHP (13)
- DOM (0)
- 网页画图vml,canvas (1)
- 协议 (2)
- 健康 (3)
- 书籍下载 (1)
- jbpm (1)
- EXT (1)
- 自考 (2)
- 报表 (4)
- 生活 (64)
- 操作系统基础知识 (2)
- 测试 (2)
- guice (1)
- google学习 (2)
- Erlang (1)
- LOG4J (2)
- wicket (1)
- 考研 (1)
- 法律 (1)
- 地震 (1)
- 易学-等等相关 (1)
- 音乐 (1)
- 建站 (4)
- 分享说 (3)
- 购物省钱 (0)
- linux (1)
最新评论
-
zenmshuo:
如果使用SpreadJS这一类的表格工具,应该能更好的实现这些 ...
js中excel的用法 -
hjhj2991708:
第一个已经使用不了
jar包查询网站 非常好用! -
jiangmeiwei:
...
中文乱码 我的总结 不断更新 -
gary_bu:
...
response.sendRedirect 中文乱码问题解决 -
hnez:
多谢指点,怎么调试也不通,原来我在<body>&l ...
ExtJs IE ownerDocument.createRange() 错误解决方案
来源:QQ中的qun
与下面的不用范型效果一样
package com.common.dao; interface DBDao { public int delete(); } class Table1 implements DBDao { public int delete() { System.out.println("Table1.delete"); return 0; } } class Table2 implements DBDao { public int delete() { System.out.println("Table2.delete"); return 0; } } public class Factory { public static void main(String args[]) { Factory.getInstance("com.common.dao.Table1").delete(); Factory.getInstance("com.common.dao.Table2").delete(); } public static <U extends DBDao>U getInstance(String clsName) { try { Class cls = Class.forName(clsName); return (U) cls.newInstance(); } catch(Exception e) { e.printStackTrace(); return null; } } }
与下面的不用范型效果一样
package com.common.dao; interface DBDao { public int delete(); } class Table1 implements DBDao { public int delete() { System.out.println("Table1.delete"); return 0; } } class Table2 implements DBDao { public int delete() { System.out.println("Table2.delete"); return 0; } } public class Factory { public static void main(String args[]) { ((DBDao)Factory.getInstance("com.common.dao.Table1")).delete(); ((DBDao)Factory.getInstance("com.common.dao.Table2")).delete(); } public static Object getInstance(String clsName) { try { Class cls = Class.forName(clsName); return cls.newInstance(); } catch(Exception e) { e.printStackTrace(); return null; } } }
发表评论
-
TilesRequestProcessor - Tiles definition factory found for request processor ''
2011-11-03 15:39 2489TilesRequestProcessor - T ... -
jar包查询网站 非常好用!
2009-12-28 11:47 13386java jar包查询 根据类查询所在的java包 http ... -
tomcat 启动错误 java.lang.UnsupportedClassVersionError: Bad version number in .class
2009-11-27 08:53 2255请访问http://ddgrow.com/bad-versio ... -
arrayToString
2009-04-07 09:01 1416原文:http://leepoint.net/notes-ja ... -
native2ascii
2009-04-02 12:00 1174D:\>native2ascii 中国 \u4e2d\u ... -
java swing 架构
2009-03-04 15:03 2314下面是偶尔找到的一篇 相当好的文章 ,针对 java swin ... -
红帽企业5序列号
2009-02-27 09:11 2527这是从[url]http://www.21codes.com/ ... -
中文乱码 我的总结 不断更新
2009-02-23 09:51 2297java中文乱码问题 1、jsp中文乱码 <0& ... -
websphere 数据库连接
2009-02-19 17:47 2103问个问题: 应用服务器: websphere 连接池:pr ... -
打开java控制台的方法
2009-02-10 17:10 3039D:\Program Files\Java\jre6\bin\ ... -
log4j weblogic 问题
2009-01-21 15:08 1940问题是这样的 最初在tomcat5.5下面开发,使用了log ... -
log4j weblogic 问题
2009-01-21 15:07 0问题是这样的 最初在tomcat5.5下面开发,使用了log ... -
java.lang.NoClassDefFoundError in quartz
2008-12-24 15:35 2908quartz-1.5.2.jar tomcat5.5 当使 ... -
java 得到运行时系统中的内存信息
2008-12-19 20:54 1513这个在tomcat下面使用过,在引记录下来,以后方便查找 Ru ... -
log4j
2008-12-13 11:32 898讲解了用xml配置,还有例子,以及对 levelmin lev ... -
servlet 2.3 规范
2008-12-02 20:55 0servlet 2.3 规范 http://www.orio ... -
session 问题
2008-11-26 16:41 987问个问题,如下: 我要在一个A系统中,通过一个弹出窗口,超链接 ... -
java 反编译工具
2008-10-08 11:03 1993从哪找到的给忘了,用起来不错,放在这里,以后找起来方便 ,有需 ... -
thinking in java 读书笔记
2008-10-06 22:09 1336记录下来,以便以后查看 thinking in java 4t ... -
RSA 算法 java版本<转>
2008-09-23 18:28 2417原文地址:http://www.cs.princeton.ed ...
相关推荐
初步学习Java的泛型和反射机制,通过一些简单的例子来学习泛型,反射
Java泛型是Java编程语言中的一个强大特性,它允许我们在定义类、接口和方法时指定类型参数,从而实现代码的重用和类型安全。在Java泛型应用实例中,我们可以看到泛型如何帮助我们提高代码的灵活性和效率,减少运行时...
在`Testrefl.java`这个例子中,我们可以假设它展示了如何使用反射和泛型相结合的能力。可能的情况是,该文件包含一个类,这个类有一个泛型方法,用于根据传入的类型参数动态创建对象并调用其方法。下面是一个可能的...
下面我们将深入探讨Java泛型方法的概念、语法以及使用示例。 **一、泛型方法概念** 泛型方法是一种具有类型参数的方法,这些类型参数可以在方法声明时指定,并在方法体内部使用。与类的泛型类似,它们提供了编译时...
Java泛型是Java编程语言中的一个关键特性,它在2004年随着JDK 5.0的发布被引入,极大地增强了代码的类型安全性和重用性。泛型允许我们在编写类、接口和方法时指定参数化类型,使得代码在编译时期就能捕获类型错误,...
JAVA中 关于泛型 以及反射的例子 欢迎下载 一起研究
Java泛型编程是在JDK 1.5版本之后引入的一项重要特性,它允许开发者在编译时检查类型安全,并且所有的强制转换都由编译器自动完成,从而显著减少了运行时出现的`ClassCastException`异常的可能性。本文将详细探讨...
虽然Java泛型在运行时会被擦除,无法直接获取到类型参数的实际类型(即`T.class`),但可以通过反射机制获取到类型信息。下面是一个典型的例子: ```java public abstract class BaseHibernateEntityDao<T> extends...
在Java编程语言中,反射(Reflection)是一种强大的工具,它允许程序在运行时检查和操作对象的内部属性、方法和实现。本教程聚焦于通过反射获取运行时类的父类以及父类中的泛型信息。这是一项高级技能,对理解和调试...
环境:Windows XP Professional、JDK 1.6、Ant 1.7 说明:Java泛型的动机是为解决类型转换在编译时不报错的问题。另外由于“范型编程”(Generic Programming)的推广,于是2004年JDK 5.0引用范型标准。本例子说明...
这个“Java反射简单例子”将深入解释如何使用反射API来动态地创建对象,访问类的属性和方法。下面我们将详细探讨相关知识点。 首先,我们从`Class.forName()`方法开始。这是Java反射机制的一个关键入口点,它用于...
泛型是Java编程语言中的一个核心特性,它在2004年的Java 5版本中引入,极大地提高了代码的类型安全性和重用性。泛型允许程序员在定义类、接口和方法时,指定一个或多个类型参数,这些参数在实际使用时会被具体的类型...
压缩包中的“test”文件可能是包含这个小例子的源代码文件,可以进一步研究以理解反射的具体应用。 通过学习和实践这样的反射小例子,开发者可以更好地理解Java的动态性,提高代码的灵活性,并在某些情况下实现更...
泛型编程是Java、C#等面向对象编程语言中的一项重要特性,它允许在定义类、接口和方法时使用类型参数,从而实现代码的复用并提供编译时的类型安全检查。本教程将以Java中的List接口为例,深入探讨泛型编程的概念、...
Java反射机制是Java编程语言中的一个重要特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Java中,反射机制的核心类集中在java.lang.reflect包下,包括Class、Constructor、Method和...
本篇我们将深入探讨“泛型实现小例”这一主题,通过实际的例子来理解泛型的使用。 首先,泛型的基本概念是允许在类、接口和方法中使用类型参数。这样做的好处在于,我们可以创建能够操作多种数据类型的通用代码,...
Java反射是Java编程语言中的一个强大特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Java中,反射机制的核心类集中在java.lang.reflect包下,包括Class、Constructor、Method和Field...
Java反射机制是Java语言中一个强大的特性,它允许在运行时检查类、接口、字段和方法的信息,并且能够动态地创建对象和调用方法。在Java编程中,反射机制为程序提供了灵活的控制,使开发者可以对代码进行更加深入的...