开发一个泛型Apple类,要求有一个重量属性weight在测试类中实例化不同的泛型对象,其中: 对象a1的这一属性是String类型,对象a2的这一属性是Integer型,对象a3的这一属性是Double型。 分别为a1,a2,a3的重量属性赋值为:”500克”,500,500.0。 在测试类中通过对象调用相应方法得到属性值并输出。
时间: 2024-03-08 07:46:07 浏览: 51
好的,下面是实现泛型Apple类和测试类的代码:
```java
public class Apple<T> {
private T weight;
public T getWeight() {
return weight;
}
public void setWeight(T weight) {
this.weight = weight;
}
}
```
```java
public class TestApple {
public static void main(String[] args) {
Apple<String> a1 = new Apple<>();
a1.setWeight("500克");
System.out.println("a1的重量为:" + a1.getWeight());
Apple<Integer> a2 = new Apple<>();
a2.setWeight(500);
System.out.println("a2的重量为:" + a2.getWeight());
Apple<Double> a3 = new Apple<>();
a3.setWeight(500.0);
System.out.println("a3的重量为:" + a3.getWeight());
}
}
```
运行测试类,输出如下:
```
a1的重量为:500克
a2的重量为:500
a3的重量为:500.0
```
泛型Apple类的类型参数为T,重量属性weight的类型就是T。在测试类中,分别实例化了三个泛型对象a1、a2、a3,并分别为它们的重量属性赋值。通过对象调用getWeight方法,得到属性值并输出。由于不同类型的泛型对象对应的属性类型不同,因此需要在实例化对象时指定类型参数。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)