您的位置:首页 > 编程语言 > Java开发

[Java 10 泛型] 泛型通配符 Info<?> i = new Info<String>(); 在程序中定义没有方法的接口,称之为标识接口

2014-05-20 20:39 585 查看
p10 第十章 泛型
 (1), 自己写个基本的范型

 (2), 泛型通配符
Info<?> i = new Info<String>();
 (3), 受限泛型 Info<? extends Number> temp; 下限 : Info<? super String> temp;
 (4), 泛型 与 子类继承的限制

     * 一个类的子类可以通过对象多态性为其父类实例化,但是在泛型操作中,子类的泛型类型是无法使用父类的泛型类型接收的。

     * Info<String> 不能使用 Info<Object> 接收

     * 泛型中无法向上转型
 (5), 泛型接口的两种实现方式

      泛型方法

 总结 : *1, 泛型可以使程序的操作更加安全,可以避免发生类转换异常

               *2, 在程序中如果使用类时没有指定泛型,则泛型将被擦除掉,将使用 Object 接收参数

               *3, 泛型方法可以定义在泛型类中,也可以定义在普通类中

               *4, 泛型可以在接口中定义

               *5, 在程序中定义没有方法的接口,称之为标识接口
package com.qunar.basicJava.javase.p10Generics;

/**
* Author: libin.chen@qunar.com  Date: 14-5-20 18:28
*/

class Point<T> {
private T var;

Point() {

}

Point(T var) {
this.var = var;
}

public T getVar() {
return var;
}
public void setVar(T var) {
this.var = var;
}
}
public class GenericsDemo01 {
public static void main(String[] args) {
Point<Integer> p = new Point<>();
p.setVar(30);
System.out.println(p.getVar() * 2);
Point<String> ps = new Point<>();
ps.setVar("robby_chan");
System.out.println(ps.getVar() + " haha");
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐