JAVA学习日记----------泛型篇01

                                                                                                             JAVA学习日记----------泛型篇01

        决定开始写JAVA学习日记还是突发奇想,正在自学JAVA,何不在每天晚上总结下一天的学习成功,有助于加深自己的理解,于是想到写学习笔记。

        学习笔记只是用来记录学习JAVA中的点滴,没有什么格式只为自己可以消化掉一天学习的东西,写下一些易错的重点,不为别的,只是为了自己好看。所以没有什么格式,如果有人也在观看,请见。

每天更新的内容包括:

1.一天学习的内容

2.每天晚上TOPCODER做的算法题,目前算法只停留在200分上下DIV 2房间的题目,争取能够突破500分大关,努力中~~~

下面开始更新今天学习的重点内容----泛型

首先,什么是泛型,个人理解就是一个类似于标签的东西,可以给类|接口|方法加上一个数据类型的标签,让数据在类|接口|方法中使用的更加平滑,不需要各种繁琐的判断是否instanceof某一个类型,或者让程序员忘记判断导致程序异常;泛型的官方定义是:是一种“模板” 主要用在集合(容器)中

然后,泛型的作用:省心以及安全,泛型的省心表现在不需要做数据的转型,安全表现在不会出现过多的程序异常

泛型可以应用的场景有:

一.泛型类:

1. class Gene <T>{ .........} “<>”中的字母尽可能见名知意如:E-->Element,K-->Key,V-->Value,T-->Type

2.值得注意的是,泛型不能使用在静态属性上如static变量。(可以使用在静态方法中)

3.自定义泛型类使用:在声明时指定具体的类型(不能为基本类型,如:int, char, byte, double等)使用Integer, Byte, Double

二.泛型接口:

1.泛型不能使用在全局常量上

2.public interface Comparative <T>{..........}

三.泛型方法:

1.泛型方法可以定义在非泛型类中

public class Test{

public static <T> void test01(T t){

System.out.println(t);

}

public static void main(String [] args){

test01("Test01"); //此时 T--> String

}

}

四. 泛型类的继承:

继承时分为两种情况:

例如:public abstract class Father<T1,T2>{......}

1.保留泛型参变量(全部为泛型子类)

1.1全保留: class son1 <T1,T2,A,B>extends Father<T1,T2>{.....}

1.2部分保留:class son2 <T2,A,B>extends Father<Integer,T2>{.....}

2.不保留(按需实现)

2.1具体类型 class son3 <A,B>extends Father<Integer,String>{.....}

2.2没有类型(又称为泛型的擦除,即使用|实现|继承泛型类时,没有使用指定的类型) class son4 <A,B>extends Father{.....}

需要注意的是:

1.子类重写的方法类型随父类而定

2.子类新增的方法类型随子类而定

3.子类使用父类的属性随父类而定

4.子类中新增的属性随子类而定


五. 泛型接口与泛型类继承同理


2017.06.12 小结结束

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值