1定义一个泛型类Point<T>,其中包含x和y两个类型为T的成员,定义带两个参数的构适方法,为x和y定义setter和getter,另外定义translate()方法将点移到新的坐标。编写main()方法,创建Point<Integer>对象和Point<Double>对象
时间: 2024-11-30 18:18:08 浏览: 73
首先,让我们定义一个泛型类`Point<T>`,它有两个类型为`T`的成员变量`x`和`y`。然后我们会添加构造函数、setter和getter方法,以及一个`translate()`方法。
```java
public class Point<T> {
private T x;
private T y;
// 构造方法,接受两个类型的参数
public Point(T x, T y) {
this.x = x;
this.y = y;
}
// Getter方法
public T getX() {
return x;
}
// Setter方法
public void setX(T newX) {
this.x = newX;
}
public T getY() {
return y;
}
public void setY(T newY) {
this.y = newY;
}
// translate方法,移动到新坐标
public void translate(T dx, T dy) {
this.x += dx;
this.y += dy;
}
public static void main(String[] args) {
// 创建Point<Integer>对象
Point<Integer> intPoint = new Point<>(5, 7);
System.out.println("Integer Point: (" + intPoint.getX() + ", " + intPoint.getY() + ")");
// 创建Point<Double>对象
Point<Double> doublePoint = new Point<>(3.5, 4.8);
System.out.println("Double Point: (" + doublePoint.getX() + ", " + doublePoint.getY() + ")");
// 移动doublePoint
doublePoint.translate(1.0, 0.5);
System.out.println("Translated Double Point: (" + doublePoint.getX() + ", " + doublePoint.getY() + ")");
}
}
```
在这个例子中,`Point<Integer>`和`Point<Double>`都是`Point`类的不同实例,它们可以有不同的数据类型。`main`方法展示了如何分别创建这两个不同类型的对象,并通过`translate`方法对它们进行操作。
阅读全文