如何返回对象的名称?

时间:2019-03-22 21:50:36

标签: java

我对Java还是很陌生,所以我不知道我的问题是否首先有意义。但是我会尽力描述它。

如何返回对象名称?因此,我创建了一个名为 SpooledFile spooledFile = new SpooledFile(as400, splfName.trim(), Integer.parseInt(spoolFileNumber), jobName.trim(), jobUser.trim(), jobNumber.trim()); PrintParameterList printParms = new PrintParameterList(); printParms.setParameter(PrintObject.ATTR_WORKSTATION_CUST_OBJECT, "/QSYS.LIB/QWPDEFAULT.WSCST"); printParms.setParameter(PrintObject.ATTR_MFGTYPE, "*WSCST"); try { InputStreamReader in = new InputStreamReader(spooledFile.getTransformedInputStream(printParms), "cp850"); char[] buf = new char[32767]; outputData = new StringBuilder(); if (in.ready()) { int bytesRead = 0; bytesRead = in.read(buf, 0, buf.length); while (bytesRead > 0) { outputData.append(buf, 0, bytesRead); bytesRead = in.read(buf, 0, buf.length); } } // System.out.println(sbuf.toString()); } catch (Exception e) { e.printStackTrace(); } 的类,并创建了以下对象:

Player

我如何使它打印/返回“ John”一词而不是其他任何东西?我将不胜感激,非常感谢!

3 个答案:

答案 0 :(得分:5)

在您的示例中,您实际上并未将播放器的名称设置为John,而是创建了一个名为John的对象。

要解决此问题,请在您的Player类中声明一个字段:

public class Player {
   String name;

   public Player(String name) {
       this.name = name;
   }

   public String getName() {
       return name;
   }

   public void setName(String name) {
       this.name = name;
   }
}

现在,您可以根据需要创建任意数量的玩家并为其命名:

Player player = new Player("John");

获取玩家的名字时,只需调用getName()函数。
当您想设置玩家的名字时,只需调用setName()方法即可。

要在控制台上打印玩家名称,请使用以下方法:

System.out.println(player.getName());

或者您可以覆盖toString()的{​​{1}}方法以提供对象的文本表示形式,在这种情况下,仅提供玩家的名字:

Player

然后,您可以使用:

@Override
public String toString() {
    return "Player[name=" + name + "]";
}

答案 1 :(得分:1)

具有一个实例变量,该实例变量包含name属性,并在对象实例化时填充它。 覆盖“ toString()”方法以显示名称-

@Override
 Public String toString(){
     return name;
  }

  Player John = new Player();
  System.out.println(John);

答案 2 :(得分:0)

首先,您应该为该类创建一个构造函数,以接受一个字符串来设置该类中播放器的名称。

然后您可以覆盖toString()方法,以便该类的字符串表示形式显示播放器的名称,或者您可以使用getter方法检索播放器的名称。

示例:

public class Player {

    private String name;

    public Player(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}

您可以这样使用它:

public class App {
    public static void main(String[] args) {
        // Using constructor to set name of the player
        Player john = new Player("John");

        // You can then print the name of the player by printing the object
        // directly or by calling its getter method
        System.out.println(john); // prints "John"
        System.out.println(john.getName()); // also prints "John"
    }
}