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

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

时间:2015-07-28 21:07:00      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:面向对象   泛型   class   

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
//但是每次类型都要转换,而且数据很不安全,用泛型可以避免这样的结果.
//先不明确指定类型,当需要什么类型时,在继续改为什么类型
}


}

版权声明:本文为博主原创文章,未经博主允许不得转载。

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

标签:面向对象   泛型   class   

原文地址:http://blog.csdn.net/i10630226/article/details/47110859

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