码迷,mamicode.com
首页 > 编程语言 > 详细

Java初谈之泛型

时间:2016-03-02 23:35:59      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:

/*
*
* 泛型与c++的模版有异曲同工之妙
* 泛型是面向对象的
*
*函数基本使用格式 < T> 返回值 函数名(){} //可以是任意的大写字母不一定非是T
*类基本使用格式 class classname<T> {}  以及 class classname<T extend interface & implements>{}
*
*使用方式和普通类是一样的 采用new的形式 只不过T要有具体的类(不是对象)代替

泛型无外呼泛型方法和泛型类 下面对常见的情况进行了测试(这些都明白了 通配符就不作叙述了)


*/
public class JGnenerics {
static public <G > void test(G []t){
for(G m:t){
System.out.println(m);
}
}
// 比较三个值并返回最大值
public static <T extends Comparable<T>> T maximum(T x, T y, T z)
{
T max = x; // 假设x是初始最大值
if ( y.compareTo( max ) > 0 ){
max = y; //y 更大
}
if ( z.compareTo( max ) > 0 ){
max = z; // 现在 z 更大
}
return max; // 返回最大对象
}
public static void main(String argc[]){
Integer i[]={10,100,1000};
test(i);
maximum(1,2,1);

r<m1> r=new r<m1>();//这个样子是完全可以的
myGenerics<h> f=new myGenerics<h>();
}
}
interface Generics<G>{
public void test(G t);
}

class myGenerics<T extends Generics>{//注意这里Generics后面不能有<>这个东西 否则会报类型不匹配

}
class h<String > implements Generics<String>{
public void test(String a){}

}


class m{}
class m1 extends m{}
class r<G extends m>{}

Java初谈之泛型

标签:

原文地址:http://www.cnblogs.com/enjoyall/p/5236729.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!