我正在用 Java 创建在后台播放音乐的简单游戏。
音乐类包含那些静态方法:
- 播放音乐();
- 停止音乐();
- changeVol(int vol);
一开始我创建了“Music”类的新对象,并调用了静态方法“playMusic”:
new Music();
Music.playMusic();
之所以这些方法是静态的,是因为我想在应用程序启动时开始播放音乐,但您可以在设置中选择是否播放音乐。静态方法提供了最简单的方法,因为“设置”类没有“main”方法。
音乐类代码:
public class Music {
/// ... variables
public Music(){
try{
/// ... Preparing clip to play
} catch (Exception e){
/// ... Catching exception
}
}
public static void playMusic(){
/// ... starting music
}
public static void stopMusic(){
/// stoping music
}
public static void changeVol(int vol){
/// changing volume
}}
它工作得很好,但我想知道它是否符合 OOP 和 Java 标准?
完整音乐类代码:http://pastebin.com/d9XYX1gG
最佳答案
你可能想要做的是这样的:
Music music = new Music();
music.playMusic();
这里不需要静态方法。
如果您只想要一个可以从多个地方访问的实例,请尝试使用单例:
public class Music {
private static instance Music instance;
private Music() {
// initialize your stuff here
}
// have your instance methods here
/**
* This is the method to access the Music singleton
*/
public static Music getInstance() {
if (instance == null) {
instance = new Music();
}
return instance;
}
}
关于java - 我是否正确使用 Java 中的静态方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29148226/