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

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

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

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

每天更新的内容包括:

1.一天学习的内容

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

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

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

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

泛型可以应用的场景有:

一.泛型类:

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

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

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

二.泛型接口:

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

2.public interface Comparative {..........}

三.泛型方法:

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

public class Test{

public static void test01(T t){

System.out.println(t);

}

public static void main(String [] args){

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

}

}

四. 泛型类的继承:

继承时分为两种情况:

例如:public abstract class Father{......}

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

1.1全保留: class son1 extends Father{.....}

1.2部分保留:class son2 extends Father{.....}

2.不保留(按需实现)

2.1具体类型 class son3 extends Father{.....}

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

需要注意的是:

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

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

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

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


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


2017.06.12 小结结束

你可能感兴趣的:(JAVA学习日记----------泛型篇01)