2013-04-16 76 views
2

我已经研究过了,虽然这是一个非常简单的问题,但我不确定如何解决它。在Java中打印对象的名称

我的代码看起来是这样的:

public class Playlist { 

    public Playlist(String name) { 

    } 
} 

当然,单独的文件:

@Test 
public void CreatePlaylist(){ 
    Playlist myPlaylist = new Playlist("Workout Playlist"); 

} 

我试图打印此新的播放列表“的锻炼播放列表”的真实名字,但我可以似乎没有办法做到这一点。

+0

重写'toString()'方法! – NINCOMPOOP

回答

2

get方法命名或覆盖的toString方法在类

public class Playlist { 

    private String name; 
    public Playlist (String name) { 
     this.name = name; 
    } 

    public String getName() { 
    return name; 
} 

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

打印使用

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

System.out.println(playlistObject)名称。

我宁愿设置getter方法over toString()虽然。

+0

谢谢!我非常感谢帮助! :) –

7

您需要将播放列表的名称存储在实例变量中。例如:

public class Playlist { 
    private final String name; 

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

    public String getName() { 
     return name; 
    } 
} 

然后,你可以用它打印:

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

如果你想使名称可变的,然后摆脱final改性剂和添加setName(String)方法。

+0

谢谢!我非常感谢帮助! :) –

0
public class Playlist { 
    private String name; 

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

    public String getName() { 
    return name; 
    } 
} 

然后显示名称:

@Test 
public void CreatePlaylist(){ 
    Playlist myPlaylist = new Playlist("Workout Playlist"); 
    System.out.println(myPlaylist.getName()); 
} 
+0

谢谢!我非常感谢帮助! :) –

0

你是不是在所有存储在你的对象中的“名称”属性。所以显然你不能访问名字。一种方法是

public class Playlist { 

    public String name; 

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

现在你应该能够像你一样从你的测试用例访问你的属性。

@Test 
public void CreatePlaylist(){ 
    Playlist myPlaylist = new Playlist("Workout Playlist"); 
    System.out.println(myPlaylist.name); 
} 
+0

谢谢!我非常感谢帮助! :) –