023_泛型檫除的实例

1. 泛型类和子类檫除

/**
 * 父类泛型类
 * @param <T>
 */
public abstract class Father<T> {
	protected T name;
	public abstract void eat(T t);
}

/**
 * 子类继承父类指定具体类型
 * 方法是具体类型,随父类而定
 * 属性是具体类型,随父类而定
 */
class Son extends Father<String>{
	public void eat(String t) {}
}

/**
 * 子类继承父类,父类檫除
 * 方法是Object类型,随父类而定
 * 属性是Object类型,随父类而定
 * @param <T>
 */
@SuppressWarnings("rawtypes")
class OldSon<T> extends Father{
	public void eat(Object t) {}
}

/**
 * 子类继承父类,父类檫除,子类檫除
 * 方法是Object类型,随父类而定
 * 属性是Object类型,随父类而定
 * @param <T>
 */
@SuppressWarnings("rawtypes")
class LittleSon extends Father{
	public void eat(Object t) {}
}

2. 泛型接口和子类檫除

/**
 * 接口是泛型接口
 * @param <T>
 */
interface Mother<T>{
	void cooking(T t);
}

/**
 * 子类实现接口指定具体类型
 * 方法是具体类型,随父类而定
 */
class Daughter implements Mother<Integer>{
	public void cooking(Integer t) {}
}

/**
 * 子类实现接口,父类檫除
 * 方法是Object类型,随父类而定
 */
@SuppressWarnings("rawtypes")
class OldDaughter<T> implements Mother{
	public void cooking(Object t) {}
}

/**
 * 子类实现接口,父类檫除,子类檫除
 * 方法是Object类型,随父类而定
 */
@SuppressWarnings("rawtypes")
class LittleDaughter implements Mother{
	public void cooking(Object t) {}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值