cari

Rumah  >  Soal Jawab  >  teks badan

interface - Java中接口不能被实例化,那么如下的代码怎么理解?

    public static final Function<String, Set<String>> MAPPING_FUNCTION = new Function<String, Set<String>>() {
            @Override
            public Set<String> apply(String s) {
                return new HashSet<>();
            }
        };

MAPPING_FUNCTION已经是接口Function<String, Set<String>>的一个实例了啊?

PHP中文网PHP中文网2812 hari yang lalu443

membalas semua(4)saya akan balas

  • 天蓬老师

    天蓬老师2017-04-17 17:55:33

    Ini bukan contoh antara muka, tetapi contoh kelas dalaman tanpa nama yang melaksanakan antara muka.
    Adakah anda perasan pendakap selepasnya? Ia jelas berbeza daripada bentuk yang biasa kita gunakan A a=new A().
    Adalah disyorkan agar anda membaca pengetahuan berkaitan tentang kelas dalaman.

    balas
    0
  • 黄舟

    黄舟2017-04-17 17:55:33

    Ini ialah cara menulis kelas dalaman tanpa nama Sebenarnya, cara penulisan ini adalah setara dengan menulis kelas baharu dan kemudian melaksanakan antara muka.
    Masalahnya ialah mencipta kelas baharu hanya untuk melaksanakan kaedah antara muka adalah terlalu cerewet, jadi kebanyakan kaedah penulisan akan terus menulis kelas dalaman tanpa nama.

    Oleh kerana kami tidak memberi perhatian kepada nama kelas, kami hanya memberi perhatian kepada pelaksanaan khususnya, yang juga merupakan senario penggunaan biasa bagi kelas dalaman tanpa nama.

    balas
    0
  • PHP中文网

    PHP中文网2017-04-17 17:55:33

    Bab 6 "Crazy Java Lecture Notes" mempunyai penjelasan terperinci Jika anda tidak mahu membaca buku itu, cari sahaja "Anonymous Internal Class"

    balas
    0
  • 怪我咯

    怪我咯2017-04-17 17:55:33

    Kelas dalaman tanpa nama adalah setara dengan kelas yang melaksanakan antara muka ini. Tulis sahaja pengisytiharan dan pelaksanaan bersama-sama.

    balas
    0
  • Batalbalas