There is no parameterless constructor available in 'Point. Point2D'
时间: 2024-09-18 18:08:36 浏览: 76
在Java中,如果一个类没有定义无参构造函数(也就是没有包含任何参数的默认构造函数),那么当你尝试创建该类的新实例时,如果没有显式指定构造函数参数,程序会抛出`InstantiationException`或`NullPointerException`。例如,在`Point2D`类中,如果它没有无参构造函数,你不能像这样创建一个新的实例:
```java
Point2D point; // 这将会抛出异常,因为没有无参构造函数可用
```
在这种情况下,你需要显式地传入必要的参数来创建新实例:
```java
Point2D point = new Point2D(x, y); // 或者如果你已经有了初始值,可以直接赋值
```
如果你想要在`Point2D`中添加一个无参构造函数以便于更方便地实例化,可以在类定义中添加一个:
```java
public class Point2D {
private int x;
private int y;
// 如果没有其他构造函数,可以添加这个无参构造函数
public Point2D() {
this(0, 0); // 可以假设默认的初始坐标是(0, 0)
}
// 其他构造函数...
}
```
然后你就可以像之前那样创建对象了:
```java
Point2D point = new Point2D(); // 现在可以这样实例化了
```
阅读全文