定义一个泛型类Point<T>,其中包含x和y两个类型为T的成员,定义带两个参数的构造方法实现对x和y的初始化。为x和y定义setter方法和getter方法。另外定义translate( )方法实现交换x和y的值,并输出值。重新toString( )方法,输出"X的值为:"+x+",Y的值为:"+y。编写main( )方法,创建Point<Integer>对象和Point<Double>对象,测试编写的方法。
时间: 2024-02-11 18:04:19 浏览: 111
C# 泛型培训理论 + demo
好的,以下是实现代码:
```java
public class Point<T> {
private T x;
private T y;
public Point(T x, T y) {
this.x = x;
this.y = y;
}
public void setX(T x) {
this.x = x;
}
public T getX() {
return x;
}
public void setY(T y) {
this.y = y;
}
public T getY() {
return y;
}
public void translate() {
T temp = x;
x = y;
y = temp;
System.out.println("X的值为:" + x + ", Y的值为:" + y);
}
@Override
public String toString() {
return "X的值为:" + x + ", Y的值为:" + y;
}
public static void main(String[] args) {
Point<Integer> point1 = new Point<>(1, 2);
Point<Double> point2 = new Point<>(1.5, 2.5);
System.out.println(point1.toString());
System.out.println(point2.toString());
point1.translate();
point2.translate();
}
}
```
在上面的代码中,我们定义了一个泛型类 `Point<T>`,并通过 `<T>` 来表示该类是一个泛型类。该类包含了两个成员变量 `x` 和 `y`,它们的类型为 `T`。我们通过构造函数来对 `x` 和 `y` 进行初始化,并且定义了 `setter` 和 `getter` 方法,用于对成员变量进行读写操作。我们还定义了一个 `translate()` 方法,用于交换 `x` 和 `y` 的值,并输出交换后的值。最后,我们重写了 `toString()` 方法,用于输出 `x` 和 `y` 的值。
在 `main()` 方法中,我们创建了一个 `Point<Integer>` 对象和一个 `Point<Double>` 对象,并对它们进行了初始化。然后我们调用了 `toString()` 方法来输出它们的值,并且分别调用了 `translate()` 方法,来测试交换 `x` 和 `y` 的值的操作。
阅读全文