`
韩悠悠
  • 浏览: 841870 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

泛型讨论

 
阅读更多

 

简单泛型

      泛型最广泛的应用是在,容器类,也是容器的出现促使泛型的出现。,容器就是存放要使用对象的地方,说起来能存放对象的地方,数组也能,但是和数组比起来,泛型更灵活,具备更多不同的功能。

一个简单的能保存一个对象

class Automobile{
        public class Hold1{
            private Automobile a;
            public Hold1(Automobile a){
                 this.a = a;
            }
            Automobile get(){
                   return a;
           }
     }
}
 

 重用功能不是很大,一个简单的存储数据的对象。

 

 

例子进一步演化

 

 

public calss Hold2{
	private Object a;
       
        public Hold2(Object a){
		this.a = a;
	}

        public void set(Object a){
		this.a = a;
	}

	public Object get(){
		return a;
	}
}

 

 

使用了object更具有了灵活性,可是与其使用object,我们更喜欢暂时不指定类型,而是稍后再决定具体使用什么类型,要达到这个目的,就使用类型参数,用尖括号扩住,放在类名后面,即使T类型

看下面的例子

 

public class Holde3<T>{

	private T a;
	
	public Holde3(T a){
	 	this.a = a;
	}

	public void set(T a){
		this.a = a;
	}

	public T get(){
		return a;
	}

	public static void main(String[] args){
		Holde3<Automobile> a  = new Holde3<Automobile>(new Automobile());
		Automobile b = a.get();
		
	}
}

 

 

以上就是java泛型的核心概念,告诉编译器想使用什么类型,然后编译器帮你处理一切细节。

分享到:
评论

相关推荐

    C#泛型,非泛型实现枚举

    接下来,我们讨论非泛型实现枚举功能。在某些情况下,如果我们的枚举类型是固定的,我们可能会选择非泛型方法。例如,我们可以创建一个特定于颜色的枚举类: ```csharp public class ColorCollection { private ...

    xe7结构体泛型

    在“xe7结构体泛型”中,“xe7”可能是指一个特定的编程框架或者版本,而“结构体泛型”则表示我们正在讨论的是关于结构体(struct)的泛型实现。结构体是值类型,通常用于存储小量的数据,如坐标、尺寸或简单的记录...

    excel中取出泛型数据存入泛型的list中

    下面我们将详细讨论如何在Excel中提取泛型数据,并将这些数据存入泛型的List中。 首先,我们要理解什么是泛型。泛型是Java和C#等现代编程语言中的一种特性,允许在数据结构(如List)中指定元素类型。这样做可以...

    java泛型学习全面页面下载资料

    7. **泛型与反射**:讨论泛型如何与Java反射API交互,以及如何在反射中处理泛型类型。 8. **泛型与多态**:解释泛型如何影响类的继承和多态性,以及如何在泛型类的实例间进行方法重写。 9. **集合框架中的泛型**:...

    [Java泛型和集合].

    本资料主要基于Maurice Naftalin和Philip Wadler合著的《Java泛型和集合》进行讨论。 首先,我们要理解什么是泛型。在Java中,泛型是一种在类、接口和方法中引入类型参数的技术。它们允许我们在编写代码时指定一个...

    java 继承泛型类示例

    现在让我们讨论继承泛型类。假设我们有一个泛型类`BaseClass&lt;T&gt;`,它的子类`DerivedClass`可以这样定义: ```java public class BaseClass&lt;T&gt; { private T data; public void setData(T data) { this.data = ...

    Asp.Net 泛型 三层

    接下来,我们讨论三层架构。三层架构是一种常见的软件设计模式,它将应用程序分为三个逻辑层:表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。这种分层设计有助于提高代码的可维护性、可扩展性和模块化。在...

    Java泛型三篇文章,让你彻底理解泛型(super ,extend等区别)

    接下来,让我们详细讨论 Java 泛型的关键字和通配符。 extends 和 super 的区别 在 Java 泛型中,extends 和 super 是两个重要的关键字,它们分别用于限定类型的上界和下界。 extends 用于限定类型的上界,表示...

    Java中泛型的各种使用

    下面将详细讨论Java中泛型的使用及相关知识点。 1. 泛型的基本概念 泛型是Java SE 5.0引入的新特性,它允许在类、接口和方法中使用类型参数。类型参数类似于函数参数,但它们代表的是类型而不是值。例如,`List&lt;T&gt;`...

    C# 泛型的好处讲解

    通过上述讨论,我们可以看到C#中的泛型不仅提供了类型安全性,还极大地提高了代码的重用性和性能。无论是对于简单的数据结构还是复杂的业务逻辑,泛型都能帮助开发者写出更简洁、高效和可靠的代码。希望本文能够帮助...

    .net C# 泛型事件委托

    现在,让我们讨论如何将泛型与事件委托结合。泛型事件委托允许我们在定义事件时使用类型参数,这样事件处理函数可以接收任何类型的参数,而不是固定的类型。这样做的好处是可以创建通用的事件处理逻辑,适应不同类型...

    泛型知识总结

    接下来,我们要讨论泛型的原理。泛型的本质是类型擦除,这意味着在编译后的字节码中,所有的类型参数都会被替换为它们的边界类型(通常是`Object`)。然而,编译器会插入强制类型转换和检查,以确保在运行时的类型...

    C++泛型编程和设计模式应用

    《C++泛型编程和设计模式应用》中可能涵盖了如工厂模式、单例模式、观察者模式等经典设计模式,并讨论了如何在C++中利用泛型编程来优化这些模式的实现。 书中的内容可能会包括以下几个方面: 1. 泛型编程基础:...

    枚举和泛型的应用举例

    接下来,我们讨论泛型。泛型是Java SE 5.0引入的新特性,它允许在定义类、接口和方法时使用类型参数,以实现参数化类型。这样做的好处在于可以在编译时检查类型安全,并且所有的强制转换都是自动和隐式的,提高了...

    泛型编程.rar(源码及讨论)

    &lt;br&gt;本文和这个例子讨论泛型使用的一般问题,比如为什么要使用泛型、泛型的编写方法、泛型中数据类型的约束、泛型中静态成员使用要注意的问题、泛型中方法重载的问、泛型方法等,通过这些使我们可以大致了解...

    泛型演算法Generic Algorithms與Function Objects

    接下来,我们讨论函数对象(Function Objects),也称为仿函数(Functors)。在C++中,函数对象是一种类,它的实例可以像函数一样被调用。它们通常用于封装操作,如比较、算术运算或其他自定义行为,从而在泛型算法...

    侯建的泛型编程与STL

    结合泛型编程与STL,侯建可能会讨论如何将两者有效结合,以实现高性能和高抽象度的设计。例如,如何利用模板和STL来构建自己的容器或算法,以及如何通过模板技巧优化STL的使用,提高程序的运行效率。 总的来说,...

    实例185 - 自定义泛型化数组类

    这个实例185可能是进一步讨论泛型数组类如何应用于实际项目,例如作为缓存、队列或其他数据结构的基础,或者作为工具类帮助处理不同类型的数据集。标签中的"源码"表明可能有具体的代码实现供学习,而"工具"可能意味...

    泛型和方法

    接着,我们讨论方法。在Java中,方法是一组执行特定任务的语句,可以通过调用来执行。方法可以接受参数,返回结果,或者两者兼有。通过合理地设计和组织方法,可以使代码更模块化,易于理解和维护。 在Java中,方法...

    泛型ref代码

    接下来,我们讨论Ref关键字。在C#中,函数参数默认按值传递,这意味着函数内部无法改变传入参数的原始值。但通过使用Ref关键字,我们可以实现按引用传递,使得函数内部可以直接修改参数的值。例如: ```csharp ...

Global site tag (gtag.js) - Google Analytics