zoukankan      html  css  js  c++  java
  • 关于泛型

    1泛型

    继承:

    任何类型的父类都是object object是一切类型的基类 子类继承父类的所有东西(里氏替换原则)


    执行方式:


    构造函数每个类都有一个默认的构造函数,一个类可以有多个构造函数,每个类在执行构造函数时(如果继承了父类)都会先执行父类构造函数再执行自身函数,这样子类就可以拥有父类的属性和方法了。
    应用场景如:写个通用的泛型方法,传入一个类作为类型。这样就可以使用这个类的方法属性以及继承的一些属性和方法。
    public static T Way<T>(T para) where T: People,new(){}

    对象.gettype()----->获取该对象是什么类型
    typeof()----typeof(int)指明里面是什么类型
    gettype和typeof就是分别针对对象和类型的


    声明------------泛型 <T>(T value)
    延迟声明
    声明static 可以直接类名.方法名无需用new就可以调用,一般公用的时候写成静态的,静态的成员信息(属性)会分配到内存的柞中(无论是int 类型 还是string类型)理论上是int 分配在内存的堆中 string 分配在内存的柞中。
    类.方法名.<int>(value)这里value要对应是int型

    泛型约束 where T: class,Interface,new()其中,的关系是并且的关系。是对泛型集合传入的对象的约束

    泛型优点:减少代码冗余, 相对用object类型而言不会有拆箱装箱(拆箱object--》int将引用类型转化为值类型 ,装箱----》将值类型转化成引用类型)
    值类型:栈从线程的堆栈中分配,不考虑垃圾回收机制,继承自System.ValueType,有两种形式:装箱和未装箱,不能作为基类,不能有虚方法,初始化时默认为0值,复制时“字段对字段”的拷贝。
    引用类型:从托管堆中分配,对象考虑垃圾回收机制,所有类都是引用,只有装箱形式,可以继承和派生,引用类型变量初始化时默认为null,复制时只拷贝内存地址。

  • 相关阅读:
    Python 模块的安装与使用
    Python——list切片
    IPv4与IPv6数据报格式
    计算机网络——网络层
    大型网站技术
    mysql主从复制数据库
    Laravel-安装composer
    centos7 yum安装配置redis
    最新cenos执行service httpd restart 报错Failed to restart httpd.service: Unit not found.
    Memcache安装
  • 原文地址:https://www.cnblogs.com/cxl6/p/5839218.html
Copyright © 2011-2022 走看看