你好,我有一個類在Java中繪製了一顆明星,它就像一個魅力一樣。在此之後,我擴展了Star類以創建具有擴展可能性的另一個明星(在這種情況下顏色必須不同)在java中重寫構造函數
由於某種原因,在我的面板中調用類並僅爲構造函數提供參數時孩子班的顏色似乎工作。
這裏是我的代碼
public class Star {
protected int radius;
protected int xmiddelpunt;
protected int ymiddelpunt;
protected static Color color;
public Star(int radius, int x, int y, Color color) {
xmiddelpunt = x;
ymiddelpunt = y;
this.radius = radius;
this.color = color;
}
}
和擴展類
public class StarRed extends Star {
protected int x, y;
protected static Color color;
Random red = new Random();
public StarRed(int radius, int x, int y, Color color) {
super(radius, x, y, color);
this.radius = radius;
this.x = x;
this.y = y;
this.color = color;
}
}
我的面板類的構造函數如下:
ArrayList<Star> stars = new ArrayList<Star>();
ArrayList<StarRed> rs = new ArrayList<StarRed>();
public HeavenPanel() {
setBackground(Color.blue); // geef het paneel een blauwe kleur
this.addMouseWheelListener(this); // set de mouselistener
for(int i = 0; i < 10; i++) {
stars.add(new Star (r.nextInt(30 + 50), r.nextInt(10 + 701), r.nextInt(10 + 701), Color.yellow));
}
for(int k = 0; k < 10; k++) {
rs.add(new StarRed(40, r.nextInt(30 + 50), r.nextInt(30 + 50), Color.red));
}
}
如果您正在擴大班級,它將從父母已完成的工作中獲利。所以,不要在'StarRed'中複製你已經在'Star'中管理的所有屬性(所有這些屬性)。 – SJuan76
你應該發佈你對這些列表所做的事情,否則我們不知道GUI中發生了什麼。 – SJuan76