实现泛型概念
/*
* T: Type,可以使用任意标记,例如 String,Double皆可
*/
class Point<T>{
private T x;//属性由外部决定
private T y;
public T getX() {
return x;
}
public void setX(T x) {
this.x = x;
}
public T getY() {
return y;
}
public void setY(T y) {
this.y = y;
}
}
public class generics_realize {
/**
* @param args
*/
public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
Point<String> point = new Point<String>();
point.setX("东经1112度");//set get 的方法对数据进行操作。
point.setY("北纬2342度");
String x = point.getX();
String y = point.getY();
System.out.println("X的坐标是:"+ x +" "+ "Y的坐标是" + y);
}
}//输出 <span style="color:#ff6666;"> X的坐标是:东经1112度 Y的坐标是北纬2342度</span>
泛型接口的实现与理解
//泛型接口
interface Message<T>{
public String echo(T msg);
}
/*
* 子类继续设置泛型
* 方法上使用泛型
*
* */
class Messagelmpl<T> implements Message<T>{
public String echo(T msg){
return "RCHO" + msg;
}
}
/*
* 直接设置好具体的泛型类型
*/
class Mwssagelmpl2 implements Message<String>{
public String echo(String msg){
return "ECHO" + msg;
}
}
public class generics_Interface {
/**
* main函数
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//one
Message<String> msg = new Messagelmpl();
System.out.println(msg.echo("小猪猪"));//传递Object型
//two
Message<String> msg2 = new Mwssagelmpl2();
System.out.println(msg2.echo("小傻逼"));//传递String型
}
}//输出 <span style="color:#ff0000;">RCHO小猪猪
ECHO小傻逼
</span>
一个简单的泛型方法
public class T_demo {
/**
* @param args
*/
public static void main(String[] args)throws Exception{
// TODO Auto-generated method stub
Integer result[] = get(1,2,3);
for(int temp:result)
{
System.out.print(temp + ";");
}
}
public static <T> T[] get(T...args)//设置返回值为一个泛型数组的泛型方法
{
return args;
}
}