class Order{ Scanner scan=new Scanner(System.in); public int Random() { Random rd=new Random(); int[] arr=rd.ints(1).toArray(); for(int i=0;i<arr.length;i++){ if(arr[i]<0) System.out.println(arr[i]*-1); } return rd.nextInt(); } public double totalPrice() { return shoppingCart.shoppinggoods.stream().mapToDouble(item -> item.getPrice() * item.getQuantity()).sum(); } // public double totalPrice() { // double sum = 0; // for (int i = 0; i < shoppingCart.shoppinggoods.size(); i++) { // sum += shoppingCart.shoppinggoods.get(i).getQuantity() * shoppingCart.shoppinggoods.get(i).getPrice(); // } // return sum; // } public void print() { System.out.println("请输入收货地址:"); String address=scan.nextLine(); System.out.println("id"+"\t"+"名称"+"\t"+"类型"+"\t"+"价格"+"\t"+"数量"); System.out.println(shoppingCart.shoppinggoods); System.out.println("共计:"+totalPrice()); System.out.println("订单编号:"+Random()); new User().print(); System.out.println("收货地址:"+address); } }怎么添加多态
时间: 2024-04-29 19:20:03 浏览: 21
浅析Java常用API(Scanner,Random)匿名对象
多态是指同一个方法或者同一个类,在不同的情况下可以表现出不同的行为。在上述代码中,可以通过以下方法来实现多态:
1. 创建一个父类,例如:Order。
2. 创建多个子类,例如:OnlineOrder 和 OfflineOrder,它们都继承自父类 Order。
3. 在父类中定义一个 print() 方法,在子类中分别重写该方法,实现不同的行为。
4. 在程序中根据需要创建不同的子类对象,调用它们的 print() 方法,即可实现多态。
举个例子,可以将 print() 方法在父类中定义为抽象方法,然后在子类中实现具体的行为,代码如下:
```
abstract class Order {
Scanner scan = new Scanner(System.in);
public abstract void print();
}
class OnlineOrder extends Order {
public void print() {
// 在线订单的打印逻辑
}
}
class OfflineOrder extends Order {
public void print() {
// 线下订单的打印逻辑
}
}
```
在程序中可以这样使用:
```
Order order1 = new OnlineOrder();
order1.print();
Order order2 = new OfflineOrder();
order2.print();
```
这里 order1 和 order2 都是 Order 类型的对象,但是它们分别调用了 OnlineOrder 和 OfflineOrder 中的 print() 方法,表现出了不同的行为,这就是多态的体现。
阅读全文