泛型类、泛型接口、泛型方法(静态注意)

泛型类、泛型接口、泛型方法(静态注意)

package com.company.java.generic;
/**
 * 1.分析如下泛型定义是否正确?
 * 1)class A<Parameter>{} 正确
 * 2)interface B<Param,Result>{} 正确
 * 3)class C{
 *     public <T>void doMethod(T t){} 正确 
 *   }
 * 4)class D<T>{ //不正确(类上泛型不作用于静态方法)
 *     static void doMethod(T t){} 
 *   }
 * 2.分析如下代码,检查代码是否有问题?
 * class A<T>{}
 * class B extends A<T>{} 不正确
 * class C<T> extends A<T>{}正确
 * class E extends A<String>{}正确
 * 3.分析如下代码,检查代码是否有问题?
 * 
 * interface A<K,V>{}
 * class B implements A<K,V>{} 不正确
 * class C<K,V> implements A<K,V>{} 正确
 * class D  implements A<String,Object>{}正确
 * class E<K> implments A<K,Object>{}正确
 * 
 * 4.分析如下代码,检查代码是否有问题?
 * List<Object> list=new ArrayList<String>();不正确
 * List<String> list=new ArrayList<Object>();不正确
 *
==上界限定通配符==主要应用在方法上

 * List<? extends Object> list=new ArrayList<String>();正确
 * //下界限定通配符
 * List<? super String> list=new ArrayList<Object>();正确
 */
//泛型接口(接口定义时使用泛型用于约束方法参数类型,返回值类型)
interface Container<T>{
	void add(T t);
	T get(int i);
	int size();
}
//泛型类,当使用一个类实现泛型接口对象时
//说明:类定义时要么声明为泛型类,要么为接口传入具体类型

abstract class AbsContainer<T> implements Container<T>{
	@Override
	public int size() {
		return 0;
	}
	/**泛型类上的泛型不能约束类中静态方法的泛型类型*/
	static <T>T newInstance (T cls){
		return cls;
	}
	void newInstance02 (T cls){
	
	 }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值