java - 初学者 Java 构造函数中不需要参数错误

标签 java constructor compiler-errors

因此,作为一个类的作业,我尝试创建一个简单的圆形类,然后将其用作构造函数。 这是我的类(class)代码:

public class Circle
{
  private double radius;
  private double pi;

  public void setRadius(double rad)
  {
    radius = rad;
  }

  public double getRadius()
  {
    return radius;
  }

  public double getArea()
  {
    return pi * radius * radius;
  }

  public double getDiameter()
  {
    return radius * 2;
  }

  public double getCircumference()
  {
    return 2 * pi * radius;
  }
}

这是使用该类创建构造函数的程序:

import java.util.Scanner; //scanner class for input

  public class CircleDemo
{
  public static void main(String[]args)
  {
    double radiusIn; //gets radius from input

    Scanner keyboard=new Scanner(System.in); //activates scanner class in program

    System.out.print("Enter the radius of a circle: ");
    radiusIn=keyboard.nextDouble();

    Circle circularObject= new Circle(radiusIn);

    System.out.println("The circle's area is" + circularObject.getArea());
    System.out.println("The circle's diameter is" + circularObject.getDiameter());
    System.out.println("The circle's circumference is" + circularObject.getCircumference());
  }
}

我收到错误: 错误:Circle 类中的构造函数 Circle 无法应用于给定类型; 必需:无参数 发现:双 原因:实际参数列表和形式参数列表的长度不同

我没有发现我的代码有任何问题,但我再次使用了老师给我们的示例。

最佳答案

您正在此处调用构造函数

Circle circularObject= new Circle(radiusIn);

但是您的 Circle 类中没有定义与您传入的参数相匹配的构造函数。返回您的 Circle 类并定义采用 的构造函数>双参数:

public Circle(double val)
{
    //Implementation
}

请注意,如果您没有为类提供显式构造函数,Java 将自动为您提供一个空实现、无参数的公共(public)构造函数供您使用。一旦定义了第一个显式构造函数,该默认构造函数就消失了,这意味着您必须手动重新定义它。

关于java - 初学者 Java 构造函数中不需要参数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28266913/

相关文章:

java - 为什么Spring的ApplicationContext.getBean被认为是不好的?

java - java中期望的标识符

c++ - 带空括号的默认构造函数

constructor - 您是否应该检查构造函数中的错误参数值?

c++ - 编写相邻列表图形时发生未知错误

iOS - 应用程序在配置的 iPad 上崩溃,在模拟器中运行正常

java - 为 Hangman 游戏编译 java 源代码时出错

java - 当函数名存储在字符串变量中时如何调用对象的Java函数?

java - 循环数组队列实现 : Which is the best way to resize a circular array?

Java:在子类化中使用通用通配符