当前位置: 首页 > 知识库问答 >
问题:

用一个构造函数来编写一个级别车,这个构造函数接受一个年份模型、一个型号和一个速度(以MPH为单位)作为参数

充煌
2023-03-14

main方法给我们提供了这几行代码来设置参数:

Car a = new Car(2008, "Toyota", 0);
Car b = new Car(2017, "Ford", 20);
Car c = new Car(2012, "Volvo", 6);
Car [] test_field = {a, b, c}; 

main中的调用显示为

for(int i = 0; i < test_field.length; i++){
    test_field[i].accelerate();
   }
}
else{
     for(int i = 0; i<test_field.length; i++){
        test_field[i].brake();
}

在编写方法时,我不断地得到一个方法在类车不能应用于给定类型的我的加速和制动方法,当我试图运行,我似乎不能解决我的问题。

public class Car {

private int yearModel;
private String make;
private int speed;

   public Car() {

   }
   public Car(int ym, String m, int sp) {

   yearModel = ym;
   make = m;
   speed = sp;
 } 
   public void setModel(int ym) {
   yearModel = ym;
   }
   public void setMake(String m) {
   make = m;
   }
   public void setSpeed(int sp) {
   speed = sp;

   }


  public int accelerate(Car c) {

  speed = speed + 5;

  return speed;

  }
  public int brake(Car c) {
 speed = speed - 5;

  if (speed < 0) {
  speed = 0;
  return speed;
  }

  else return speed;

  }
}

共有1个答案

司寇嘉茂
2023-03-14

为什么您的加速和制动方法在方法签名中需要一个Car对象?

公共int加速(Car c)

调用方法时也不会传递Car对象。

public int accelerate() {
    speed = speed + 5;
    return speed;
}

public int brake() {
    speed = speed - 5;
    if (speed < 0) {
        speed = 0;
        return speed;
    }
    else {
        return speed;
    }
}
 类似资料:
  • 我的问题是关于OOP(C)中的构造函数。当我在一个类中将默认构造函数定义为private,并且在main中将该类的一个对象初始化为default时,就会出现默认构造函数不可访问的错误。这很好。但我也在Public部分中使用默认参数构造函数,当我再次在main中初始化对象时,就会出现对函数重载的不明确调用。所以我的问题是,如果不能从main访问私有构造函数,那么编译器应该调用公共部分中的构造函数,这

  • 有了Deck对象之后,我们有必要初始化其中的Card对象。上一章的buildDeck函数稍作修改就可使用,但是更自然的方法是为Deck类再添加一个构造函数,代码如下: Deck::Deck () { apvector<Card> temp (52); cards = temp; int i = 0; for (Suit suit = CLUBS; suit <= SPADES; s

  • 问题内容: 这是面试中提出的问题。如果一个类在Java中何时有多个构造函数,我们可以从另一个构造函数调用另一个函数吗? 问题答案: 可以,我知道的语法是 您还可以通过以下方式调用超类的构造函数 这两个调用只能作为构造函数中的第一条语句完成(因此,您只能在执行其他任何操作之前调用另一个构造函数)。

  • 我有一个(相当复杂的)数据类型: 现在我发现自己需要另一个数据类型…有两个构造函数。一个与的相同;另一个只存储一个。我有什么选择? 虽然这会起作用,但它也允许类似这样的东西,这是没有意义的。

  • 当异常在构造函数中被抛出时,其中创建了多个对象,必须做些什么来清理内存。例如。 我的直觉是,将每个对new的调用放在一个单独的try-catch组中,并删除之前为其调用了,但这太冗长的所有对象(第一个try组不调用析构函数,第二个类调用第一个类的析构函数,第三个类调用前两个类的析构函数,以此类推)。我的问题是:最常见的处理方法是什么? 另外,假设类对象包含一个不是用new创建的对象(因为它在堆栈上

  • 我目前在我的大学学习初级java课程,仍然在学习编程的基础知识。这周我们一直在学习构造函数,我被困在本周任务的后半部分,所以任何帮助都将不胜感激。 实验室的第二部分(我一直坚持的部分)的说明如下: 为类Truck编写完整的代码,如下面的类图所示。一定不要在构造函数中使用重复的代码。例如,具有2个参数的构造函数应该调用具有1个参数的构造函数来设置柱体的值。 这些是它想让我做的构造函数。 任何关于如何