提问人:Sheebs 提问时间:10/30/2023 更新时间:10/31/2023 访问量:86
我将如何为我的类编写 getter 和 setter 方法?
How would I write the getter and setter methods for my class?
问:
我是 java 的初学者,我需要为我的 PlayingCard 类编写 get() 和 set() 方法,我需要有人解释为什么我总是收到错误说“实际和正式参数列表的长度不同”。
这是我被赋予使用的代码:
class PlayingCard
{
int value;
String suit;
}
我必须编写这些方法:
- getValue
- getSuit套装
- setValue
- 套装套装
这是我尝试的代码的最后一次演绎,但我不知道为什么我总是收到错误。
public int getValue() {
return value;
}
public String getSuit() {
return suit;
}
public int setValue() {
return value;
}
public String setSuit() {
return suit;
}
我试着按照我们得到的讲座幻灯片进行操作,但似乎没有任何效果。正如我之前所说,我是使用 java 的新手,所以我还没有眼睛去了解问题所在。
答:
3赞
QuagmireFromFamGuy
10/30/2023
#1
void
我也是很新的程序员,所以请耐心等待,我认为您的二传手方法不应该返回任何东西。通常它们是空的,看起来像:
public void setSuit(String assignedSuit){
suit = assignedSuit;
}
此代码意味着每当您使用字符串参数 assignedSuit 调用 setSuit 方法时,它都可以更改 card 对象的 suit 变量。
不过,我认为你的吸气方法很好。希望这会有所帮助。
评论
0赞
Sheebs
11/2/2023
谢谢你的帮助!我试着按照你说的去做,它最终解决了我的代码问题。
2赞
kunli
10/30/2023
#2
set() 方法不应有返回值。应使用 void 类型。
class PlayingCard
{
int value;
String suit;
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
public String getSuit() {
return suit;
}
public void setSuit(String suit) {
this.suit = suit;
}
}
-1赞
JeslynTan
10/30/2023
#3
另一种选择是
添加这些:
@Getter
@Setter
在开始你的“公开课”之前
例如
@Getter
@Setter
public class PlayingCard
{
private int value;
private String suit;
}
那么你就不需要一一添加 get set 方法了
通过进口龙目岛
import lombok.Getter;
import lombok.Setter;
P.S. 可以在初始化变量之前尝试添加“private”
1赞
AdrianSt
10/30/2023
#4
Java 中的 getter 和 setter 方法用于控制其他类访问和修改对象数据的方式。它们涉及将类字段设为私有,并提供公共方法来检索(获取)和更新(设置)这些字段。如果你不关心私有变量,那么就没有理由拥有 getter 和 setter。然后,您可以按编写器访问变量:PlayingCard.value
class PlayingCard {
private int value;
private String suit;
public PlayingCard(int value, String suit) {
this.value = value;
this.suit = suit;
}
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
public String getSuit() {
return suit;
}
public void setSuit(String suit) {
this.suit = suit;
}
}
评论
0赞
Sheebs
11/2/2023
如果我要删除我的私有变量,playingCard.value 会做什么?这与 this.value 的作用相同吗?
评论
record PlayingCard ( int value , String suit ) {}
hashCode
equals
toString