Hari ini saya akan berbicara tentang pemahaman saya sendiri tentang kelas abstrak dan antarmuka di Java, termasuk konten referensi:
1. Kelas abstrak
1. Definisi:
Nama kelas kelas abstrak publik {}
Semua objek dalam bahasa Java dijelaskan oleh kelas, tetapi tidak semua kelas digunakan untuk menggambarkan objek. Kelas abstrak yang saya pahami sebenarnya adalah tingkat ekstraksi yang tinggi dari bagian publik dari jenis hal yang sama, yang mencakup atribut dan perilaku. Misalnya, ternak, domba, dan babi memiliki semua atribut publik mereka, dan perilaku publik semuanya menyusui, sehingga kita dapat mengabstraksi bagian publik menjadi mamalia, yang mengandung atribut, rambut dan perilaku. Ketika sapi, domba, dan babi mewarisi mamalia, mereka juga memiliki fungsi menyusui. Adapun cara menyelesaikan fungsi ini, mereka perlu mengimplementasikannya sendiri.
2. Fitur
(1) kelas yang dimodifikasi oleh kata kunci abstrak adalah kelas abstrak;
(2) kelas yang mengandung metode abstrak harus berupa kelas abstrak, tetapi kelas abstrak tidak selalu mengandung metode abstrak; dan metode abstrak harus publik atau dilindungi, jika tidak mereka tidak dapat diwarisi oleh subkelas. Default adalah publik.
(3) tidak ada implementasi dalam metode abstrak, jika tidak, kompilasi akan dilaporkan;
(4) Anda dapat mendefinisikan variabel anggota Anda sendiri dan metode anggota dalam kelas abstrak;
(5) ketika subclass mewarisi kelas abstrak, semua metode abstrak dalam kelas abstrak harus diimplementasikan, jika tidak subkelas juga harus didefinisikan sebagai kelas abstrak;
(6) Kelas abstrak tidak dapat dipakai.
3. Verifikasi apakah ketentuan di atas memang seperti yang dinyatakan
Ini adalah tabel verifikasi yang saya edit di Word, dan saya memotongnya menjadi gambar dan meletakkannya di sini:
Menilai dari hasil verifikasi pada gambar di atas, teori -teori itu benar
2. Antarmuka
1. Definisi:
Nama Antarmuka Antarmuka Publik {}
Antarmuka digunakan untuk menyediakan metode. Menurut pemahaman saya, ini adalah ekstraksi tingkat tinggi dari perilaku publik dari berbagai kelas. Misalnya, perilaku publik semua hewan sedang makan dan tidur. Kemudian kita dapat mengekstrak dan merangkum kedua perilaku ini dalam satu antarmuka. Ketika seekor hewan perlu melakukan perilaku ini, panggil saja antarmuka dan kemudian selesaikan implementasi spesifik di kelasnya sendiri. Pemahaman ini tampaknya tidak berbeda dari kelas abstrak, jadi mari kita lihat contoh berikut. Jika kedua perilaku ini ditempatkan di kelas abstrak, tetapi ada juga perilaku merangkak di kelas abstrak. Pada saat ini, ketika reptil, seperti ular, mewarisi kelas ini, ia akan mewujudkan tiga metode makan, tidur, dan merangkak, sehingga memiliki fungsi makan, tidur, dan merangkak; Tetapi jika seekor binatang dari kelas terbang seperti burung, ketika mewarisi metode ini, ia juga memiliki fungsi makan, tidur, dan merangkak. Jelas bahwa merangkak bukanlah fungsi yang dibutuhkan, yang sedikit tidak konsisten. Namun, ketika mereka hanya mewarisi antarmuka makan dan tidur, mereka memiliki fungsi dasar makan dan tidur. Adapun pendakian dan terbang, mereka dapat diabstraksikan dan ditempatkan di kelas abstrak, mewarisi permintaan, dan menyadari fungsi yang mereka butuhkan sesuai permintaan.
2. Fitur:
(1) Antarmuka dapat memiliki variabel anggotanya sendiri, tetapi mereka akan secara implisit ditentukan sebagai final statis publik, dan mereka hanya dapat menjadi final statis publik. Semua metode dalam antarmuka adalah metode abstrak dan akan secara implisit ditentukan sebagai abstrak publik.
(2) hanya metode abstrak yang didefinisikan dalam antarmuka, dan tidak ada implementasi konkret;
(3) kelas yang mengimplementasikan antarmuka harus mengimplementasikan semua metode yang ditentukan dalam antarmuka;
3. Verifikasi apakah teori di atas benar
Demikian pula, teori -teori di atas semuanya benar!
3. Perbedaan antara kelas abstrak dan antarmuka:
1. Kelas abstrak dapat memiliki metode anggotanya sendiri dan implementasi spesifiknya; Antarmuka hanya dapat berisi metode abstrak;
2. Kelas abstrak dapat berisi berbagai jenis variabel anggota; Variabel anggota dalam antarmuka hanya dapat menjadi final statis publik;
3. Kelas hanya dapat mewarisi satu kelas abstrak, tetapi dapat mengimplementasikan beberapa antarmuka;
4. Kelas abstrak dapat berisi blok kode statis dan metode statis; Blok kode statis dan metode statis tidak dapat didefinisikan dalam antarmuka;
Verifikasi bahwa suatu kelas hanya dapat mewarisi satu kelas abstrak, tetapi dapat mengimplementasikan beberapa antarmuka
Pertama, tentukan dua kelas abstrak: mamalia mammal dan kelas reptil crawler
/** * @createTime 17 Maret 2017 di 10:33:27 AM * @Description mamalia */mamalia kelas abstrak publik {public string foods; public abstrak void perawat (); public void eat (makanan string) {this.foods = food; System.out.println ("eat"+foods);}} /** * * @createTime 17 Maret 2017 jam 11:23:09 AM * @Description Tentukan kelas abstrak - kelas crawler */kelas abstrak publik crawler {public abstrak void crawl ();}Kedua, tentukan dua antarmuka: satu adalah antarmuka dasar basa; yang lainnya adalah antarmuka khusus khusus
/** * * @createTime 17 Maret 2017 jam 11:03:42 AM * @Description Tentukan antarmuka bernama Basic Behavior */Basiction Antarmuka Publik {Public String Name = ""; public void eat (); public void sleep ();} /*** @createTime 17 Maret 2017 jam 11:24:56 AM* @Description Tentukan antarmuka untuk mengimplementasikan perilaku khusus*/Spesialisasi Antarmuka Publik {public void study ();}Kemudian, tentukan orang -orang kelas dasar, mewarisi kelas Mummals, dan mengimplementasikan antarmuka basa dan antarmuka spesialisasi
/** * @createtime March 17, 2017 at 11:25:48 am * @description Define a common class - human, inherit mammals, implement basic interfaces and special interfaces */public class People extends Mammals implements BaseAction,SpecialAction{@Override public void study() {// TODO Auto-generated method stub}@Override public void eat() {// TODO Auto-generated method Stub} @Override public void sleep () {// TODO Metode yang dihasilkan otomatis Stub} @Override public void perawat () {// TODO Metode yang dihasilkan secara otomatis}}}Dapat dilihat bahwa subkelas dapat menerapkan beberapa antarmuka.
Akhirnya, biarkan orang kelas dasar mewarisi kelas Mummals dan kelas crawler secara bersamaan
/** * @createTime 17 Maret 2017 jam 11:25:48 AM * @Description Tentukan kelas umum - manusia, mamalia waris, mengimplementasikan antarmuka dasar dan antarmuka khusus */orang kelas publik memperluas mamalia, crawler {@override public nurse () {// TODO Metode Auto -Generated Stub}}} {) {// TODO Metode Auto -Generated}}}}} {// TODO Metode Auto -Generated Stub}}}}}} {TODO}}} {//TODO Metode Auto -Generated Stub}}}}}}}}}}}}}}}}}}}}}}}} {TODO TODO TODOMeringkaskan
Di atas adalah semua konten dari artikel ini tentang membahas secara singkat pemahaman pribadi tentang kelas dan antarmuka Java Abstrak. Saya harap ini akan membantu semua orang. Teman yang tertarik dapat terus merujuk ke situs ini:
Contoh warisan dan kode abstrak kacang di musim semi
Pengantar Gagasan Inti dan Antarmuka Hibernate
Contoh Antarmuka dan Metode Penggunaan di Java
Jika ada kekurangan, silakan tinggalkan pesan untuk menunjukkannya. Terima kasih teman atas dukungan Anda untuk situs ini!