[英]Can you invoke a method on an object in creation of a constructor?
我创建了一个名为GOval的子类。 我想制造一个黑球。 为了使它起作用,我尝试了以下方法:
在一个类中,我创建一个新的Ball对象。
Ball ball = new Ball(0,0,200);
这将在Ball中调用此构造函数(扩展了GOval)
public Ball(double xPos, double yPos, double diameter){
super(xPos, yPos, diameter, diameter);
}
我还要初始化颜色以及设置此构造函数中填充的颜色。 问题是这些是您在对象上调用的方法。 例如,这有效:
Ball ball = new Ball(0,0,200);
ball.setFillColor(Color.BLACK)
add(playball);
但是我真正想要的是在球类的构造中执行以下最后两个指令:
public Ball(double xPos, double yPos, double diameter){
super(xPos, yPos, diameter, diameter);
setFillColor(Color.BLACK);
}
谢谢您的回覆:我让它与以下人员合作:
setFilled(true);
setColor(Color.BLACK);
之所以可行,是因为我用super调用了GOval的构造函数,然后又对该对象调用了这些方法(setFilled和setColor)?
由于fillColor
是Ball类的属性,所以为什么不能直接设置它而不是调用方法
public Ball(double xPos, double yPos, double diameter){
super(xPos, yPos, diameter, diameter);
this.fillColor = Color.BLACK;
}
是的,您可以在构造函数中调用其他方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.