1. Java面向对象之泛型-认识泛型

package generic;


class Point{
private  Object x;
private  Object y;
public Object getX() {
return x;
}
public void setX(Object x) {
this.x = x;
}
public Object getY() {
return y;
}
public void setY(Object y) {
this.y = y;
}

}
/**
 * 经纬度
 * int,float,string类
 * @author NEWEN
 *
 */
public class genericDemo {


public static void main(String[] args) {
Point obj = new Point();
obj.setX(10);
obj.setY(100);
int x= (Integer) obj.getX();
int y = (Integer) obj.getY();
System.out.println("经度为:"+x+"纬度为:"+y);//经度为:10纬度为:100
//但是每次类型都要转换,而且数据很不安全,用泛型可以避免这样的结果
}


}

改为泛型之后为:


package generic;


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;
}

}
/**
 * 经纬度
 * int,float,string类
 * @author NEWEN
 *
 */
public class genericDemo {


public static void main(String[] args) {
Point<String> p =new Point<String>();
//p.setX(10);如果将set赋值为int型,将会产生编译错误,这样更安全。
p.setX("10");
p.setY("100");
String x=  p.getX();
String y =  p.getY();
System.out.println("经度为:"+x+"纬度为:"+y);//经度为:10纬度为:100
//但是每次类型都要转换,而且数据很不安全,用泛型可以避免这样的结果.
//先不明确指定类型,当需要什么类型时,在继续改为什么类型
}


}

版权声明:本文为小平果原创文章,转载请注明:http://blog.csdn.net/i10630226

posted @ 2015-07-28 20:37  dingxiaoyue  阅读(207)  评论(0编辑  收藏  举报