来自多个类的重写方法

我无法理解如何使用来自两个不同类的多个同名方法(在这种情况下,是两个相同的方法)。驱动程序类(计算机)利用 Model 和 Laptop 类来显示来自用户输入的信息。在 Model 和 Laptop 中,有两种名称相同但参数不同的方法。我对在笔记本电脑中为 setModel 方法设置三个参考变量的内容感到困惑。我曾尝试操作 setModel 方法的模型对象,但没有成功。


我是从 UML 图写的。Laptop 和 Model 之间存在聚合关系,具体来说 Model HAS-A 与 Laptop 的关系(Laptop 上有一个菱形与 Model 相连)。


import java.util.*;


public class Computer

 {

  public static void main (String[] args)

   {

       // local variables, can be accessed anywhere from the main method

       char input1 = 'Z';

       String inputInfo;

       String brandName, modelName;

       double price, cpuSpeed;

       int ramSize;


       String line = new String();


       // instantiate a Laptop object

       Laptop laptop1 = new Laptop();


       printMenu();


       //Create a Scanner object to read user input

       Scanner scan = new Scanner(System.in);


       do  // will ask for user input

        {

         System.out.print("What action would you like to perform?\n");

         line = scan.nextLine();


         if (line.length() == 1)

          {

           input1 = line.charAt(0);

           input1 = Character.toUpperCase(input1);


           // matches one of the case statement

           switch (input1)

            {

             case 'A':   //Add the laptop

               System.out.print("Please enter the laptop information:\n");

               System.out.print("What is the laptop\'s brand?\n");

               brandName = scan.nextLine();

               laptop1.setBrand(brandName);


               System.out.print("What is the laptop\'s model?\n");

               modelName = scan.nextLine();



开满天机
浏览 184回答 2
2回答

交互式爱情

如果方法在不同的类中声明,您甚至不需要不同的参数,您只需要使用对象名称进行调用,并且会自动调用响应方法。

哆啦的时光机

这让我感到困惑,我不会以这种方式实现它,但我被要求这样做。我用我的原始实现找到了解决方案public void setModel(String newModel, double newCPU, int newRAM)    {    model.setModel(newModel);    model.setCPU(newCPU);    model.setRAM(newRAM);    }然后我修复了 Model 对象的实例化private Model model = new Model();
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java