Rumah  >  Soal Jawab  >  teks badan

java - kelas dalaman abstrak + generik

Penggunaan kelas dalaman yang mudah:

public class OuterClass {
    public OuterClass() {
    }

    public abstract class InnerAbstractClass {
        public void a() {

        }
        public abstract void absMethod();
    }
    
    public void test() {
        new OuterClass().new InnerAbstractClass() {
            public void absMethod() {

            }
        };
    }
    
    public static void main(String[] args) {

        new OuterClass().new InnerAbstractClass() {
            public void absMethod() {

            }
        };
    }
}

Tambahkan generik pada contoh di atas

public class OuterClass<T> {
    public OuterClass() {
    }

    public abstract class InnerAbstractClass {
        public void a() {

        }
        public abstract void absMethod();
    }

    public void test() {
        new OuterClass().new InnerAbstractClass() {
            public void absMethod() {

            }
        };
    }

    public static void main(String[] args) {

        new OuterClass().new InnerAbstractClass() {
            public void absMethod() {

            }
        };
    }
}

Panggil kelas dalaman dalam kaedah ujian dan susun dengan betul. Laporkan ralat dalam kaedah utama, cannot be referenced from a static context.
Tiada ralat akan dilaporkan jika kelas dalaman dipanggil dalam kelas lain yang baru dibuat

public class OuterClassTest {
    public static void main(String[] args) {
        new OuterClass().new InnerAbstractClass() {
            public void absMethod() {

            }
        };
    }
}

Kenapa? ? ?

给我你的怀抱给我你的怀抱2713 hari yang lalu828

membalas semua(1)saya akan balas

  • 巴扎黑

    巴扎黑2017-05-17 10:02:28

    Haha, klik pada orang yang tidak membantu, salin kod dan jalankan sendiri, ia akan disusun tanpa sebarang masalah! Tiada masalah!

    Jika anda tidak tahu cara menggunakan IDE, hanya gunakan javac

    balas
    0
  • Batalbalas