gpt4 book ai didi

Java getClass().getName() 它返回类而不是名称

转载 作者:行者123 更新时间:2023-11-29 09:35:31 26 4
gpt4 key购买 nike

输出是 Card Card。它应该是未知的简。我该如何解决?我试图用 Card.getClass().getName() 修复它,但这给了我另一个错误,无法从静态上下文中引用非静态方法 getClass()。

public class Card

{
private String name;

public Card()
{
name = "unknown";
}

public Card(String name1)
{
name = name1 ;
}

public String getName()
{
return name;
}

public String toString()
{
return getClass().getName();
}
}

public class CardTester
{
public static void main(String[] args)
{
Card card ;

card = new Card() ;
System.out.println(card) ;
System.out.println("unknown WAS EXPECTED") ;

card = new Card("Jane") ;
System.out.println(card) ;
System.out.println("Jane WAS EXPECTED") ;
}
}

最佳答案

您的 toString() 方法打印对象类的名称:

return getClass().getName();

该对象是Card的一个实例,所以它的类是Card.class,其名称是Card。您想要打印名称字段的值。所以你只需要

return name;

关于Java getClass().getName() 它返回类而不是名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21666026/

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