Javafx 类循环中的构造函数循环不能应用于给定类型
我在试用JavaFXCircle库演示,我从一个示例中复制了代码,但它似乎无法编译。我的代码是Javafx 类循环中的构造函数循环不能应用于给定类型,javafx,Javafx,我在试用JavaFXCircle库演示,我从一个示例中复制了代码,但它似乎无法编译。我的代码是 import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.shape.Circle; import javafx.stage.Stage; public class Circle extends Application {
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;
public class Circle extends Application {
public void start(Stage stage) {
stage.setTitle("Circle Demo");
Circle circle = new Circle(150.0f, 150.0f, 80.f);
Group group = new Group(circle);
Scene scene = new Scene(group, 500, 300);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
我得到的错误是
java:11:错误:类Circle中的构造函数Circle不能应用于给定的类型;
圆圈=新圆圈(150.0f、150.0f、80.f)
你的类名有歧义。它与
javafx.scene.shape
包中的Circle
类同名
所以,新圆圈(150.0f,150.0f,80.f)
这里指的是当前类,而不是javafx.scene.shape.Circle
解决此问题的两种方法:
newjavafx.scene.shape.Circle(150.0f、150.0f、80.f)代码>将引用所需的程序包
Circle
更改为CircleDemo
可以解决此问题建议使用第二种方法,因为类名类似于库类可能会很混乱。类名似乎不明确。因为您的类被称为
Circle
,并且您没有定义构造函数,所以Java将生成默认的无参数构造函数。因此,它找不到具有4个参数的构造函数。简单的解决方法是重命名Circle
类或使用完全限定名进行调用:javafx.scene.shape.Circle
不要为自己的类使用现有的类名,尤其是在文件中导入具有相同名称的类时^^