编程题:定义一个泛型类Apple,有一个weight属性,编写没有参数的构造方法和有参数的构造方法,定义它的set方法和get方法。在主类的main方法中,实例化不同的泛型对象a1,a2,a3,要求对象a1的weight属性是String类型,要求对象a2的weight属性是Integer类型,要求对象a3的weight属性是Double类型,它们的值分别是“500克”,500,500.5,调用get方法输出各对象的weight的值。运行结果如图所示。
时间: 2023-11-27 15:55:18 浏览: 25
```java
public class Apple<T> {
private T weight;
public Apple() {
}
public Apple(T weight) {
this.weight = weight;
}
public T getWeight() {
return weight;
}
public void setWeight(T weight) {
this.weight = weight;
}
public static void main(String[] args) {
Apple<String> a1 = new Apple<>("500克");
System.out.println("a1的重量:" + a1.getWeight());
Apple<Integer> a2 = new Apple<>(500);
System.out.println("a2的重量:" + a2.getWeight());
Apple<Double> a3 = new Apple<>(500.5);
System.out.println("a3的重量:" + a3.getWeight());
}
}
```
输出结果:
```
a1的重量:500克
a2的重量:500
a3的重量:500.5
```
相关问题
想要在类中定义一个泛型方法
好的,您可以在类中定义一个泛型方法,方法的定义方式如下:
```
public <T> void methodName(T parameter) {
// 在方法中使用泛型类型 T
}
```
其中,`<T>` 声明了一个泛型类型,可以在方法中使用它作为参数类型或返回类型。在上面的例子中,`methodName` 方法接受一个泛型类型的参数 `parameter`,可以在方法中使用该参数作为泛型类型 T 的实例。
编写一个Java程序,定义泛型类和泛型类的方法,然后创建一个泛型类对象,调用泛型类对象输出相应的结果
好的,以下是一个简单的 Java 程序,其中定义了一个泛型类和一个泛型方法,然后创建了一个泛型类对象并调用了它的方法来输出相应的结果:
```java
class GenericClass<T> {
private T value;
public GenericClass(T value) {
this.value = value;
}
public T getValue() {
return value;
}
public <E> void printArray(E[] inputArray) {
for (E element : inputArray) {
System.out.print(element + " ");
}
System.out.println();
}
}
public class GenericExample {
public static void main(String[] args) {
GenericClass<Integer> intObj = new GenericClass<>(10);
System.out.println("Integer Value: " + intObj.getValue());
GenericClass<String> strObj = new GenericClass<>("Hello");
System.out.println("String Value: " + strObj.getValue());
Integer[] intArray = {1, 2, 3, 4, 5};
String[] strArray = {"John", "Mary", "Tom", "Jerry"};
System.out.print("Int Array: ");
intObj.printArray(intArray);
System.out.print("String Array: ");
strObj.printArray(strArray);
}
}
```
在上面的程序中,我们定义了一个名为 GenericClass 的泛型类,它有一个泛型类型参数 T,并拥有一个名为 getValue 的方法,用于获取泛型类型参数 T 的值。此外,我们还定义了一个名为 printArray 的泛型方法,它有一个泛型类型参数 E,用于打印任意类型的数组。
在主方法中,我们创建了一个 Integer 类型的泛型类对象 intObj 和一个 String 类型的泛型类对象 strObj,并调用了它们的 getValue 方法来输出它们的值。然后,我们创建了一个 Integer 类型的数组 intArray 和一个 String 类型的数组 strArray,并调用了泛型类对象的 printArray 方法来输出它们的值。
当我们运行这个程序时,它会输出以下内容:
```
Integer Value: 10
String Value: Hello
Int Array: 1 2 3 4 5
String Array: John Mary Tom Jerry
```
这表明我们成功地定义了泛型类和泛型类的方法,并创建了一个泛型类对象来调用它的方法输出相应的结果。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.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)