您的位置:首页 > 编程语言 > Java开发

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

2015-07-28 20:37 381 查看
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

//但是每次类型都要转换,而且数据很不安全,用泛型可以避免这样的结果.

//先不明确指定类型,当需要什么类型时,在继续改为什么类型

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: