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

时间:2023-03-08 22:46:50

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.****.net/i10630226