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

泛型讨论------泛型方法

F# 
阅读更多

 

泛型不经可以用在整个类上,同样也可以用在雷中包含参数化的方法,而这个方法所在的类可以是泛型,也可以不是泛型,也就是说,是否拥有泛型方法,与其所在的类是否是泛型没有关系。

 

一个基本的原则,优先使用泛型方法,然后才是泛型类,另外对于static方法而言,无法访问泛型类的类型参数,所以,如果static方法需要使用泛型能力,就必须使其成为泛型方法。

 

泛型方法的定义:

 

public Class Methods{

	public <T> void f(T x){
		System.out.println(x.getClass().getName());
	}

	public static void main(String[] args){
		
		Methods m = new Methods();
		m.f("");
		m.f("fsafsda");
		m.f(23);
		m.f(12.0f);
		m.f('s');
	}
}

 

 

注意,当在使用泛型类的时候,必须在创建对象的时候指定类型参数的值,而在使用泛型方法的时候,通常不必指明参数类型,因为编译器会为我们找出具体的类型,这成为类型参数推断

分享到:
评论

相关推荐

    JAVA学习笔试(数据基础+泛型编程)-适合小白

    本笔记主要涵盖了数据基础和泛型编程两大主题,同时也涉及到类和对象、数据类型、类的初始化和加载以及单例模式等多个知识点。 1. **数据基础** - **形参实参的使用**:在函数调用时,形参是方法定义中的参数,而...

    泛型和方法

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

    Java泛型实例

    接下来,我们讨论泛型接口。泛型接口与泛型类相似,只是它们定义在接口中。例如,我们可以定义一个泛型的比较接口: ```java public interface Comparator&lt;T&gt; { int compare(T o1, T o2); } ``` 这个接口可以用于...

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

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

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

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

    (PDF)C#入门经典.0002

    - 泛型类与泛型方法 - 泛型接口 - 泛型约束 #### 8. LINQ - 查询表达式语法 - 方法语法 - LINQ to Objects与LINQ to SQL #### 9. 命名空间与程序集 - 命名空间的作用 - 程序集的概念与管理 #### 10. 高级主题简介...

    xe7结构体泛型

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

    GP-泛型算法通则.rar_GP算法_gp_泛型

    6. 设计与实现策略:讨论在设计和实现GP-泛型算法时应考虑的关键因素,如效率、可读性、可维护性等,以及如何权衡这些因素以优化算法性能。 7. 评估与优化:介绍评估GP算法性能的方法,如收敛速度、解决方案质量等...

    C# 泛型的好处讲解

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

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

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

    Asp.Net 泛型 三层

    3. **泛型方法**:允许开发者定义可以接受不同类型参数的方法,比如数据库操作类中的获取数据方法,可以接受任何实现了`IList`接口的对象。 接下来,我们讨论三层架构。三层架构是一种常见的软件设计模式,它将应用...

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

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

    java 继承泛型类示例

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

    Java中泛型的各种使用

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

    [Java泛型和集合].

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

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

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

    .net C# 泛型事件委托

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

    泛型ref代码

    2. 泛型接口和方法:除了泛型类,我们还可以定义泛型接口和方法,让接口和方法能够处理不同类型的参数。 3. 多态性:泛型提供了编译时的多态性,这意味着我们可以使用相同的方法或类处理不同类型的数据,而无需进行...

    枚举和泛型的应用举例

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

Global site tag (gtag.js) - Google Analytics