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>()
    {
    【方法体】
    }

     

  • 相关阅读:
    作为字节跳动的面试官,有些话我不得不说!
    阿里面试 Java 都问什么?万字总结!
    离职10天,面挂4家公司!
    Nginx 又一牛 X 功能:流量拷贝
    金三银四铜五铁六,Offer收到手软!
    在阿里干了5年招聘,这10条建议我必须分享给你!
    nyoj 1238 最少换乘(dijkstra)
    hdu 1035 Robot Motion(模拟)
    网络工程 POST与GET请求方法的本质区别
    hdu 1279 验证角谷猜想(简单的模拟)
  • 原文地址:https://www.cnblogs.com/remain/p/9945230.html
Copyright © 2011-2022 走看看