[英]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.