接口
在接口中定义方法
1.实现接口的任何类或结构必须实现其所有成员的方法
2.接口不能直接实例化,但是可以通过指向子类简介实例化
3.接口可以包含方法和属性的声明,但不能包含字段
4.接口中所有方法、属性默认为public,不能在后面添加访问修饰符
5.类或结构可以实现多个接口,类可以继承基类并实现一个或多个借口
接口与抽象类比较
1.两者都包含可以由子类继承的抽象成员
2.两者都不能直接实例化
3.都定义了一些未实现的属性和方法
4.抽象类除拥有抽象成员之外,还可以拥有非抽象成员,而接口所有成员都是抽象的
5.抽象成员可以是私有的,而接口的成员默认是共有
6.接口中不能含有构造函数、析构函数、静态成员和常量
泛型
使用泛型的优点
1.使用泛型类型可以最大限度地重用代码、保护类型的安全以及提高性能
2.降低了强制转换或装箱操作的成本或风险
3.可以对泛型类进行约束以访问特定数据类型的方法
缺点
泛型成员类型不确定,不能使用算术运算符、比较运算符等等
泛型的约束:可以约束泛型为值类型或引用类型,也可以约束泛型必须实现某个或多个接口