今后在51CTO安家,专心研究开发技术,请大家多多关照。以下代码是自己在学习《Java开发实战经典》(作者:李兴华)之时所敲代码,注释完备。
建立一个泛型类Point.java :
package ch10_generics;
/**
* 使用泛型机制定义Point类
*
* @author 望江门外
*
* @param <T>
* 待指定的泛型,在实例化时指定。
*/
public class Point<T> {
/** x坐标 */
private T x;
/** y坐标 */
private T y;
/**
* 设置x坐标值
*
* @param x
* x坐标值
*/
public void setX(T x) {
this.x = x;
}
/**
* 取得x坐标值
*
* @return x坐标值
*/
public T getX() {
return this.x;
}
/**
* 设置y坐标值
*
* @param y
* y坐标值
*/
public void setY(T y) {
this.y = y;
}
/**
* 取得y坐标值
*
* @return y坐标值
*/
public T getY() {
return this.y;
}
}///:)
建立Generics.java,用来建立泛型对象Point:
package ch10_generics;
/**
* 泛型应用示例
*
* @author 望江门外
*
*/
public class Generics {
public static void main(String[] args) {
Point<Integer> p1 = new Point<Integer>();
p1.setX(20); // 设置x坐标值,自动打包
p1.setY(30); // 设置y坐标值,自动打包
int x1 = p1.getX(); // 自动拆包
int y1 = p1.getY(); // 自动拆包
Point<Float> p2 = new Point<Float>();
p2.setX(2.0f); // 设置x坐标值,自动打包
p2.setY(3.0f); // 设置y坐标值,自动打包
float x2 = p2.getX(); // 自动拆包
float y2 = p2.getY(); // 自动拆包
Point<String> p3 = new Point<String>();
p3.setX("二十"); // 设置x坐标值,自动打包
p3.setY("三十"); // 设置y坐标值,自动打包
String x3 = p3.getX();
String y3 = p3.getY();
System.out.println("p1 -- > x坐标:" + x1 + "\t" + "p1 -- > y坐标:" + y1);
System.out.println("p2 -- > x坐标:" + x2 + "\t" + "p2 -- > y坐标:" + y2);
System.out.println("p3 -- > x坐标:" + x3 + "\t" + "p3 -- > y坐标:" + y3);
}
}/*输出:
* p1 -- > x坐标:20 p1 -- > y坐标:30
* p2 -- > x坐标:2.0 p2 -- > y坐标:3.0
* p3 -- > x坐标:二十 p3 -- > y坐标:三十
*///:)
输出见代码所示。
转载于:https://blog.51cto.com/wjmw2010/740561