为什么我不必宣布一个" new"有时在Java中的对象?

时间:2014-07-27 20:56:36

标签: java

道歉可能是一个简单的问题。我找不到任何直接的答案来回答这个问题。在下面的代码中,为什么我不需要创建一个" new"宾语?我究竟要将音序器分配到哪个?

import javax.sound.midi.*;

public class MusicTest1 {

    public void play() {
        Sequencer sequencer = MidiSystem.getSequencer();

        System.out.println("We got a sequencer");
    } // close play

    public static void main(String[] args) {
        MusicTest1 mt = new MusicTest1();
        mt.play();
    }
}

2 个答案:

答案 0 :(得分:5)

如果您指的是Sequencer sequencer = MidiSystem.getSequencer();,则调用类MidiSystem的静态方法,该方法返回Sequencer的实例。静态方法为您执行new Sequencer()

答案 1 :(得分:1)

函数getSequencer创建一个新对象并返回它。如果已经创建了一个对象,它可能会返回相同的对象。这称为单例模式。