`
zgqynx
  • 浏览: 1355589 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java 泛型与反射 一个小例子

    博客分类:
  • java
阅读更多
来源: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;
	        }
	}	
}
分享到:
评论

相关推荐

    Java泛型和反射机制

    初步学习Java的泛型和反射机制,通过一些简单的例子来学习泛型,反射

    Java泛型应用实例

    Java泛型是Java编程语言中的一个强大特性,它允许我们在定义类、接口和方法时指定类型参数,从而实现代码的重用和类型安全。在Java泛型应用实例中,我们可以看到泛型如何帮助我们提高代码的灵活性和效率,减少运行时...

    java反射与泛型综合例子

    在`Testrefl.java`这个例子中,我们可以假设它展示了如何使用反射和泛型相结合的能力。可能的情况是,该文件包含一个类,这个类有一个泛型方法,用于根据传入的类型参数动态创建对象并调用其方法。下面是一个可能的...

    java 泛型方法使用示例

    下面我们将深入探讨Java泛型方法的概念、语法以及使用示例。 **一、泛型方法概念** 泛型方法是一种具有类型参数的方法,这些类型参数可以在方法声明时指定,并在方法体内部使用。与类的泛型类似,它们提供了编译时...

    Java泛型编程最全总结

    Java泛型是Java编程语言中的一个关键特性,它在2004年随着JDK 5.0的发布被引入,极大地增强了代码的类型安全性和重用性。泛型允许我们在编写类、接口和方法时指定参数化类型,使得代码在编译时期就能捕获类型错误,...

    泛型反射例子

    JAVA中 关于泛型 以及反射的例子 欢迎下载 一起研究

    java泛型编程

    Java泛型编程是在JDK 1.5版本之后引入的一项重要特性,它允许开发者在编译时检查类型安全,并且所有的强制转换都由编译器自动完成,从而显著减少了运行时出现的`ClassCastException`异常的可能性。本文将详细探讨...

    java5泛型

    虽然Java泛型在运行时会被擦除,无法直接获取到类型参数的实际类型(即`T.class`),但可以通过反射机制获取到类型信息。下面是一个典型的例子: ```java public abstract class BaseHibernateEntityDao&lt;T&gt; extends...

    654.652.JAVA基础教程_反射-获取运行时类的父类及父类的泛型(654).rar

    在Java编程语言中,反射(Reflection)是一种强大的工具,它允许程序在运行时检查和操作对象的内部属性、方法和实现。本教程聚焦于通过反射获取运行时类的父类以及父类中的泛型信息。这是一项高级技能,对理解和调试...

    Java 泛型(Generics)使用说明

    环境:Windows XP Professional、JDK 1.6、Ant 1.7 说明:Java泛型的动机是为解决类型转换在编译时不报错的问题。另外由于“范型编程”(Generic Programming)的推广,于是2004年JDK 5.0引用范型标准。本例子说明...

    Java反射简单例子

    这个“Java反射简单例子”将深入解释如何使用反射API来动态地创建对象,访问类的属性和方法。下面我们将详细探讨相关知识点。 首先,我们从`Class.forName()`方法开始。这是Java反射机制的一个关键入口点,它用于...

    第1章 泛型+ppt+pdf+例子

    泛型是Java编程语言中的一个核心特性,它在2004年的Java 5版本中引入,极大地提高了代码的类型安全性和重用性。泛型允许程序员在定义类、接口和方法时,指定一个或多个类型参数,这些参数在实际使用时会被具体的类型...

    java反射小例子

    压缩包中的“test”文件可能是包含这个小例子的源代码文件,可以进一步研究以理解反射的具体应用。 通过学习和实践这样的反射小例子,开发者可以更好地理解Java的动态性,提高代码的灵活性,并在某些情况下实现更...

    泛型编程小实例(以List为例)

    泛型编程是Java、C#等面向对象编程语言中的一项重要特性,它允许在定义类、接口和方法时使用类型参数,从而实现代码的复用并提供编译时的类型安全检查。本教程将以Java中的List接口为例,深入探讨泛型编程的概念、...

    一个例子让你了解Java反射机制

    Java反射机制是Java编程语言中的一个重要特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Java中,反射机制的核心类集中在java.lang.reflect包下,包括Class、Constructor、Method和...

    泛型实现小例

    本篇我们将深入探讨“泛型实现小例”这一主题,通过实际的例子来理解泛型的使用。 首先,泛型的基本概念是允许在类、接口和方法中使用类型参数。这样做的好处在于,我们可以创建能够操作多种数据类型的通用代码,...

    Java反射案例

    Java反射是Java编程语言中的一个强大特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Java中,反射机制的核心类集中在java.lang.reflect包下,包括Class、Constructor、Method和Field...

    JAVA反射机制原理剖析配经典例子,以及模拟DBUTIL发射实现的JDBC操作包自己写的一个DEMO.★

    Java反射机制是Java语言中一个强大的特性,它允许在运行时检查类、接口、字段和方法的信息,并且能够动态地创建对象和调用方法。在Java编程中,反射机制为程序提供了灵活的控制,使开发者可以对代码进行更加深入的...

Global site tag (gtag.js) - Google Analytics