泛型

来源:互联网 发布:知无涯者百度云资源 编辑:程序博客网 时间:2024/05/20 16:09

最近学了一点泛型的知识,下面是练习时写的代码

public class Demo {public static void main(String[] args) {Father<String> f = new Father<String>("jack");System.out.println(f.getT());Father<Integer> f2 = new Father<Integer>(20);System.out.println(f2.getT());}}class Father<T> {private T t;public Father() {}public Father(T t) {super();this.t = t;}public T getT() {return t;}public void setT(T t) {this.t = t;}}

如果father有子类的话

public class Demo7 {public static void main(String[] args) {Father<String> f = new Father<String>("jack");System.out.println(f.getT());Father<Integer> f2 = new Father<Integer>(20);System.out.println(f2.getT());}}class Father<T> {private T t;public Father() {}public Father(T t) {super();this.t = t;}public T getT() {return t;}public void setT(T t) {this.t = t;}}//子类指定了具体的类型class Son extends Father<String>{}//子类也需要使用泛型class Son3<T> extends Father<T>{}//错误写法,父类上定义有泛型需要进行处理class Son2 extends Father<T>{}

泛型接口

public class Demo8 {public static void main(String[] args) {MyInter<String> my = new MyInter<String>();my.print("泛型");MyInter2 my2 = new MyInter2();my.print("只能传字符串");}}interface Inter<T> {void print(T t);}// 实现不知为何类型时可以这样定义class MyInter<T> implements Inter<T> {public void print(T t) {System.out.println("myprint:" + t);}}//使用接口时明确具体类型。class MyInter2 implements Inter<String> {@Overridepublic void print(String t) {System.out.println("myprint:" + t);}}


0 0