gpt4 book ai didi

java - 封装,getter返回null或0

转载 作者:行者123 更新时间:2023-12-01 13:20:37 30 4
gpt4 key购买 nike

我被封装困住了。在我看来,好像我已经按照规则做了一切,但仍然不起作用。虽然我知道我错过了一些东西。我正在使用 Eclipse。

我想要通过创建一副标准 52 张卡片来进行一些练习,并尝试我学到的新东西。我在 DeckOfCard 包中创建了一个 Card 类:

package deckOfCards;

public class Card {

private int value;
private String name;

public void setName(String n){
n = name;
}
public String getName(){
return name;
}
public void setValue(int v){
v = value;
}
public int getValue(){
return value;
}
}

然后我创建了一个名为 Deck 的主类,我在其中制作了所有 52 张卡片(我确信有简单快捷的方法,但我还没有实现)

package deckOfCards;

public class Deck {

public static void main(String[] args) {
Card h1 = new Card();
h1.setValue(13);
h1.setName("Ace of Hearts");

Card h2 = new Card();
h2.setValue(1);
h2.setName("Two of Hearts");
.
.
all the way to
.
.

Card d12 = new Card();
d12.setValue(11);
d12.setName("Queen of Diamonds");

Card d13 = new Card();
d13.setValue(12);
d13.setName("King of Diamonds");

但是当我尝试打印任何卡的 Deck 类中的任何值或名称(System.out.println(h1.getName()) 或 System.out.println(h1.getValue()))时,我得到 null (string) 或 0 (int) 就好像我没有设置一样。

我做错了什么?

最佳答案

private String name;

public void setName(String n){
n = name;
}

您正在使用类 var (name) 覆盖本地 (n)。交换它们(name = n)。

关于java - 封装,getter返回null或0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22045338/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com