Java初谈之泛型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java初谈之泛型相关的知识,希望对你有一定的参考价值。
/*
*
* 泛型与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初谈之泛型的主要内容,如果未能解决你的问题,请参考以下文章