java接口没有实现

dan*_*nny 1 java interface javafx-2

我最近在探索javafx时碰到了下面的代码,我看到ObservableList是一个接口,没有它的实现,你怎么能使用它的变量?很明显我在这里遗漏了什么,有人能指出我正确的方向吗?

    List list = new ArrayList();

    ObservableList observableList = FXCollections.observableList(list);
    observableList.addListener(new ListChangeListener() {
        @Override
        public void onChanged(ListChangeListener.Change change) {
            System.out.println("Detected a change! ");
        }
    });
Run Code Online (Sandbox Code Playgroud)

Ern*_*ill 6

FXCollections.observableList()方法返回实现该接口的类的实例.你没有在这里看到这个类的名称,但你不需要看到它(或者甚至需要知道它是什么.)这是多态的全部 - 面向对象编程:你,客户端,只处理接口; 创建实现它的实际类或类集是其他人的工作.如果你得到这一点,那么你已经掌握了一些东西.