假设我有一个制作球的课程。在构造函数中,它接受String
来表示球的类型,但我只希望它接受某些值,例如:"FOOTBALL"
,"BASEBALL"
或"SOCCERBALL"
,所以如果我将我的类传递给另一个开发人员并且他们在Eclipse中使用它,它会提示他们接受的值。我该怎么办?我不知道是否有一种我可以使用的通用技术或它可能被称为什么,所以欢迎指向教程或示例的指针。
public class Ball {
public Ball(String type){
…
}
}
答案 0 :(得分:8)
您可以使用enum代替字符串,如下所示。枚举非常强大,所以你可以为每种球类型添加一个弹跳方法,每种球类型都知道它们应该如何反弹(参见上面的链接以获取更多信息/示例)。这也解决了限制价值的问题。如果您没有在枚举中创建MEATBALL类型,则没有人可以将肉球作为构造函数的类型传递。
public enum BallType {
FOOTBALL,
BASEBALL,
SOCCERBALL;
}
public Ball(BallType type) {
}
答案 1 :(得分:2)
除非另有说明,否则这是一个默认为FOOTBALL的Ball类:
public class Ball {
public static final int FOOTBALL = 0;
public static final int BASEBALL = 1;
public static final int SOCCERBALL = 2;
int ball;
public Ball(){
this.ball = Ball.FOOTBALL;
}// end constructor
/**
* Class constructor.
*
* @param ball sets the ball value.<p>
* <b>ball</b> must be one of the following: Ball.FOOTBALL, Ball.BASEBALL,
* Ball.SOCCERBALL.
*/
public Ball(int ball){
setBall(ball);
}// end constructor
public int getBall(){
return ball;
}// end getBall()
public void setBall(int ball){
switch(ball){
case 1:
this.ball = Ball.BASEBALL;
break;
case 2:
this.ball = Ball.SOCCERBALL;
break;
default:
this.ball = Ball.FOOTBALL;
break;
}// end switch
}// end setBall()
}// end class Ball
编辑:
我为javadoc添加了doc评论,我认为这是你正在寻找的。请查看此链接:How to Write Doc Comments for the Javadoc Tool
答案 2 :(得分:0)
如何在类中声明公共静态常量?例如,像:
public static final String BALL_FOOTBALL =“FOOTBALL”; ...
如果在球类型错误时抛出异常,则会强制其他开发人员使用其中一个预定义常量。
希望它有用!