zoukankan      html  css  js  c++  java
  • 关于泛型的基本概念

    最近都没整么写博客了,想了想还是写一篇!

    List<T>


    1:泛型概述

    泛型主要提高了代码的重用性,例如,可以将泛型看成是一个可回收的箱子,如果在箱子上面贴上苹果的标签,那么该箱子就可以用来运送苹果,
    如果给箱子贴上西瓜的标签,那么该箱子就可以用来运送西瓜。

    2:泛型参数 T

    泛型参数T可以看做是一个占位符,它不是一种类型,它仅仅代表了某种可能的类型,类型参数T可以在使用时用类型来代替
    3:泛型参数命名准则:

    (1)使用描述性名称命名泛型类型参数,除非单个字母名称完全可以让人了解它表示的意义,而描述性名称没有更多的意义。
    比如:public interface(接口关键字) ISessionChannel<Session> //泛型接口
    public delegate(委托关键字) TOutput<Input,OutPut> //定义一个委托

    泛型接口:
    interface [接口名称]<T>
    {
    【接口体】
    }

    声明泛型接口时,与一般接口的唯一区别就是增加了一个<T>,一般来说,申明泛型接口和声明非泛型接口遵循相同的规则,泛型类型声明所
    实现的接口必须对所有可能的构造类型都保持唯一,否则就无法确定该为某些构造类型调用哪个方法

    关于参数T
    1:T:结构---类型参数必须是值类型,可以指定除了Nullable意外的任何值类型
    2:T:类---类型参数必须是引用类型
    3:new()----类型参数必须具有无参数的公共构造函数,当与其它一起使用时,new()约束必须最后指定
    4:T:<接口名称> 类型参数必须是指定的接口或者实现指定的接口,可以指定多个接口约束,约束也可以是泛型的

    泛型方法:
    泛型方法的声明形式:
    【修饰符】 [返回类型] 方法名<参数T>()
    {
    【方法体】
    }

     

  • 相关阅读:
    Win10怎么默认用Windows照片查看程序打开图片
    Class类文件结构——访问标志
    栈的压入弹出序列
    Java中length,length()以及size()的区别
    包含min函数的栈
    extends和implements的区别
    顺时针打印矩阵
    二叉树的镜像
    Class类文件结构解读——常量池
    进制、字(word)、字节(byte)、位(bit)的关系
  • 原文地址:https://www.cnblogs.com/remain/p/9945230.html
Copyright © 2011-2022 走看看