我是一名Java自学者,陷入了一个关于构造函数的问题。我得到一些提示public void Circle()
中存在问题,但是我仍然不知道如何调试它。有人可以帮助我吗?在此先感谢:)
public class Circle {
public Color color;
public static void main(String[] args) {
Circle circle = new Circle();
circle.color.setDescription("Red");
System.out.println(circle.color.getDescription());
}
public void Circle() {
Color color = new Color();
}
public class Color {
String description;
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}
}
答案 0 :(得分:3)
不是构造函数。构造函数不是void
方法。另外,您的方法中有一个本地color
变量。我想你想要
public Circle() {
this.color = new Color();
}
答案 1 :(得分:1)
Java中的构造函数是一种用于初始化对象的特殊方法。创建类的对象时将调用构造函数。
在您的情况下,您正在呼叫public void Circle()
注意,构造函数名称必须与类名称匹配,并且不能具有返回类型(如 void )。
还请注意,创建对象时会调用构造函数。
默认情况下,所有类都具有构造函数:如果您自己没有创建类构造函数,则 Java为您创建一个构造函数。但是,您将无法设置对象属性的初始值。
因此,在您的情况下,构造函数应类似于:
public Circle() {
//what ever you want here
}
答案 2 :(得分:0)
public Circle() {
this.color = new Color();
}
构造函数没有返回类型