黑马程序员——Java基础--- 枚举和泛型

来源:互联网 发布:c语言库函数手册 编辑:程序博客网 时间:2024/06/05 03:26

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

1.枚举类型,可以取代以往常量的定义方式(通常将常量封装在类或接口中)
public enum Constants{a,b,c}使用常量时Contants.a表示
将常量放在枚举内public class ContntsTest{enum contants2{a,b}}
2.枚举除了具有参数检验外,还可以看做是一个类,他继承了java.lang.Enum类,定义一个枚举时,它的成员都可以看做枚举类型的实例,且默认被final,public,static修饰,其方法有
values()/枚举类型成员以数组形式返回,valueOf()/将普通字符串转换成枚举实例,compareTo()/比较两个枚举定义时的顺序,ordinal()/得到枚举成员的位置索引
3.枚举类型中可以添加构造方法,但必须为private修饰
当然也可以在枚举成员设置方法
枚举类型提供了一种友好的定义变量方法,枚举了某种数据可能的所有值
4.泛型,实质上就是使程序员定义安全的类型。语法:类名<T>,T为类型的名字。使用时,类名<T> 函数=new 类名<T>();
常规用法:类名<T1,T2>/定义多个类型。还可以定义泛型时声明数组类型,但不可以用其建立数组实例。可以使用K,V两个字符代表容器的键值和其对应的具体值。常用的被泛型化的集合类ArrayList<E>,HashMap<K,V>,HashSet<E>,Vector<E>
5.泛型的高级用法
 限制泛型可用类型
class 类名称<T entends 某类或接口>
没有则对表所有
 
 使用泛型通配符
 泛型类型<? extends List> a=null
 作用是限制这个泛型类型实现或继承某个接口或类的子类
使用通配声明的名称实例化,不能加入新的信息,只能获取或删除
 继承泛型类,实现其接口
 泛型的类或接口也可以被继承与实现
 
 
A<?super List> a=null;对象a只接受List接口或其上层父类类型

0 0
原创粉丝点击