构造函数中的Java对象初始化

时间:2016-04-18 20:46:30

标签: java android

我是Java新手并且坚持使用以下Java类:

public class Score {

private Paint paint;
private int score;

// Constructor
public Score(Context color) {
    paint = new Paint();
    // Set the font face and size of drawing text
    paint.setTypeface(Typeface.MONOSPACE);
    paint.setTextSize(24);
    paint.setColor(color);

    // TODO initialize score

}

public void incrementScore() {
    // TODO Increment score
}

public void decrementScore() {
    // TODO Decrement score
}

public int getScore() { return score; }

public void draw(Canvas canvas) {

    // TODO use drawText(String, x co-ordinate, y-coordinate, paint) to
    // draw text on the canvas. Position the text at (10,30).
}
}

我想在TO DO中提到的构造函数中初始化得分,但是随时我用

创建一个新对象
 score = new Score(); 

我遇到了一些我无法解决的类型问题。无论如何,我想像上面那样实例化一个对象,我将包名称作为此对象的返回值,但我需要一个整数值。这是为什么?我知道,这涵盖了基本的Java问题,但正如我所说,我是Java新手。任何提示和代码片段都将非常感谢,提前感谢。

1 个答案:

答案 0 :(得分:1)

您遇到了类型转换错误,因为您的类中有一个名为score的变量int。所以当你说出像

这样的话
score = new Score();

您尝试将整数设置为Score类型的对象。如果您想初始化分数,您必须执行类似

的操作
score = 20;