黑马程序员------第11天笔记(泛型)
2014-04-21 19:13
141 查看
----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
泛型
1,泛型:JDK1.5后java出现的新特性,用于解决安全问题,是一种类型安全机制参照的是数组的定义格式,力求在编译时就能报错
2,升级有3方面:1,高效2,简化书写3,安全
3,出现的好处:
1,将运行时ClassCastException,转移到了编译时期方便程序员解决问题
让运行时的问题减少,安全。
2,避免了强制转换的麻烦。
4,泛型格式:通过<>来定义要操作的引用数据类型。其实<>就是用来接受类型的。当使用集合时将集合中要存储的数据类型作为参数传递到<>即可。
5,泛型类:
class Utils<T>
{
private T obj;
public void setObject(T obj)
{
this.obj=obj;
}
public T getObject()
{
return obj;
}
}
class GenericDemo3
{
public static void main(String[] args)
{
Utils<Student> t=newUtils<Student>();
t.setObject(new Student());
Student w=t.getObject();
System.out.println(w);
}
}
什么时候定义泛型类:
当类中要操作的引用数据类型不确定的时候,早期定义Object来完成扩展,现在定义泛型来完成扩展
6,泛型方法
class Demo
{
public <T> void show(T t)
{
System.out.println("show:"+t);
}
public <T> void print(Tt)
{
System.out.println("print:"+t);
}
}
Demo d=new Demo();
d.show("hahah");
d.print(new Integer(8));
7,静态方法泛型
静态方法不可以访问类上定义的泛型
如果静态方法操作的引用数据类型不确定,可以将泛型定义在方法上。
public static <T> voidshow()
泛型一定要定义在返回类型前面。
8,泛型接口
interface Inter<T>
{
void show(T t);
}
class InterImpl<T> implements Inter<T>
{
public void show(T t)
{
System.out.println(“show”+t);
}
}
9,泛型限定
当类型不确定时可以用一个通配符?来表示
不明确类型的情况下用?表示
ArrayList<? extends Person> al
意思:al为Person类型以及Person的子类型
泛型限定有两个限制:上限和下限
?:通配符,又叫占位符
? extends E:可以接收E及E的子类à上限限定
? super E :可以接收E类型或者E的父类à下限限定
----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
泛型
1,泛型:JDK1.5后java出现的新特性,用于解决安全问题,是一种类型安全机制参照的是数组的定义格式,力求在编译时就能报错
2,升级有3方面:1,高效2,简化书写3,安全
3,出现的好处:
1,将运行时ClassCastException,转移到了编译时期方便程序员解决问题
让运行时的问题减少,安全。
2,避免了强制转换的麻烦。
4,泛型格式:通过<>来定义要操作的引用数据类型。其实<>就是用来接受类型的。当使用集合时将集合中要存储的数据类型作为参数传递到<>即可。
5,泛型类:
class Utils<T>
{
private T obj;
public void setObject(T obj)
{
this.obj=obj;
}
public T getObject()
{
return obj;
}
}
class GenericDemo3
{
public static void main(String[] args)
{
Utils<Student> t=newUtils<Student>();
t.setObject(new Student());
Student w=t.getObject();
System.out.println(w);
}
}
什么时候定义泛型类:
当类中要操作的引用数据类型不确定的时候,早期定义Object来完成扩展,现在定义泛型来完成扩展
6,泛型方法
class Demo
{
public <T> void show(T t)
{
System.out.println("show:"+t);
}
public <T> void print(Tt)
{
System.out.println("print:"+t);
}
}
Demo d=new Demo();
d.show("hahah");
d.print(new Integer(8));
7,静态方法泛型
静态方法不可以访问类上定义的泛型
如果静态方法操作的引用数据类型不确定,可以将泛型定义在方法上。
public static <T> voidshow()
泛型一定要定义在返回类型前面。
8,泛型接口
interface Inter<T>
{
void show(T t);
}
class InterImpl<T> implements Inter<T>
{
public void show(T t)
{
System.out.println(“show”+t);
}
}
9,泛型限定
当类型不确定时可以用一个通配符?来表示
不明确类型的情况下用?表示
ArrayList<? extends Person> al
意思:al为Person类型以及Person的子类型
泛型限定有两个限制:上限和下限
?:通配符,又叫占位符
? extends E:可以接收E及E的子类à上限限定
? super E :可以接收E类型或者E的父类à下限限定
----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
相关文章推荐
- 黑马程序员——泛型-整理笔记
- 黑马程序员_学习笔记第11天——多线程1
- 黑马程序员——Java基础视频笔记(四):泛型
- 黑马程序员——java 泛型学习笔记
- 黑马程序员----泛型学习笔记
- 黑马程序员_JAVA笔记15——集合框架(泛型)
- 黑马程序员--Java笔记10--Collection集合、 Map集合、泛型
- 黑马程序员------毕老师视频笔记第13-17天------泛型
- 黑马程序员—Java基础加强学习笔记之泛型
- 黑马程序员——JAVA笔记——集合框架4——泛型
- 黑马程序员_温习 集合四 (个人笔记)摘要(泛型)
- 黑马程序员-集合和泛型集合-学习笔记
- 黑马程序员.net学习笔记3----泛型。
- 黑马程序员_学习笔记第15天——TreeSet、泛型
- 黑马程序员----Java集合框架学习笔记2 Map-工具类-泛型
- 黑马程序员________Java集合Map及其JDK1.5新特性泛型机制的学习笔记
- 黑马程序员学习笔记——泛型的反射
- 黑马程序员—15—java基础:有关泛型的学习笔记和学习心得体会
- 黑马程序员_集合-List实现类、泛型笔记
- 黑马程序员java笔记之五-----泛型