java 程序打印空值而不是字符串变量



我做了2个类,其中一个是:

public class tuna {
    public String girlname;
    public tuna(String name) {
        name = girlname;
    }
    public void type() {
        System.out.println("your girl name is :" + girlname);
    }
}

另一个是:

class apples {
    public static void main(String[] args) {
        tuna dog = new tuna("nicole");
        dog.type();
    }
}

似乎一切正常,但是当我运行它时,它会打印:

你的女孩名字是空

为什么?如何解决这个问题?

在类金枪鱼的构造函数中,它必须是..女名=名;

(你打错字了,我猜...

试试这个:

public class Tuna {
  private final String girlname;
  public Tuna(final String girlname) {
      this.girlname=girlname;
  }
  public String getGirlname() {
    return girlname;
  } 
  ...
}
分配

的顺序,如果是什么使应用程序行为奇怪......

你有这个:

 public tuna(String name) {
     name = girlname;
 }

这意味着您正在参数中写下女名的名字;

你的意思是肯定的:

 public tuna(String name) {
    this.girlname = name;
 }
public class tuna {
public String girlname;
public tuna(String name) {
    this.girlname = name;
}
public void type() {
    System.out.println("your girl name is :" + girlname);
}

我会做这个简单的改变让它工作。请记住,name 的值现在存储在 girlname 中,这就是您想要的。:)

您没有正确分配值。

在java中,右边的东西被复制到左边的东西,这是

称为"="运算符的关联性。所以不是写name=girlname;把它写成girlname=name;

最新更新