定义一个泛型类Point<T>,其中包含x和y两个类型为T的成员,定义带两个参数的构造方法实现对x和y的初始化。为x和y定义setter方法和getter方法。另外定义translate方法实现交换x和y的值,并输出值。编写main方法,创建Point<Integer>对象和Point<Double>对象,测试编写的方法。
时间: 2024-02-28 17:56:01 浏览: 77
好的,这是一个Java语言的问题,下面是代码实现:
```java
public class Point<T> {
private T x;
private T y;
public Point(T x, T y) {
this.x = x;
this.y = 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;
}
public void translate() {
T temp = x;
x = y;
y = temp;
System.out.println("x=" + x + ", y=" + y);
}
}
```
然后我们可以在main方法中测试这个类的功能:
```java
public static void main(String[] args) {
Point<Integer> p1 = new Point<>(1, 2);
System.out.println("p1: x=" + p1.getX() + ", y=" + p1.getY());
p1.translate();
System.out.println("p1: x=" + p1.getX() + ", y=" + p1.getY());
Point<Double> p2 = new Point<>(1.0, 2.0);
System.out.println("p2: x=" + p2.getX() + ", y=" + p2.getY());
p2.translate();
System.out.println("p2: x=" + p2.getX() + ", y=" + p2.getY());
}
```
输出结果为:
```
p1: x=1, y=2
x=2, y=1
p1: x=2, y=1
p2: x=1.0, y=2.0
x=2.0, y=1.0
p2: x=2.0, y=1.0
```
可以看到,我们成功地创建了泛型类Point<T>,并且根据需要创建了Point<Integer>和Point<Double>两个具体类的对象,测试了类中的setter、getter和translate方法的功能。
阅读全文