Kata Kunci abstrak Java
Kata kunci abstrak digunakan untuk mencapai abstraksi dalam Java. Ia ialah pengubah suai bukan akses yang digunakan untuk mencipta kelas dan kaedah abstrak.
Peranan kelas abstrak adalah untuk mengandungi kaedah abstrak. Walau bagaimanapun, ia juga mungkin mengandungi kaedah bukan abstrak. Kaedah yang diisytiharkan dengan kata kunci abstrak dan tidak mempunyai sebarang pelaksanaan dikenali sebagai kaedah abstrak.
Sintaks:-
abstract class Employee { abstract void work(); }
Nota - Kami tidak boleh mengisytiharkan kaedah abstrak dalam kelas bukan abstrak.
Peraturan kata kunci abstrak
Jangan
Kata kunci abstrak tidak boleh digunakan dengan pembolehubah dan pembina.
Jika kelas adalah abstrak, ia tidak boleh dibuat seketika.
Jika kaedah abstrak, ia tidak mengandungi badan.
Kami tidak boleh menggunakan kata kunci abstrak dengan kata kunci akhir.
Kami tidak boleh mengisytiharkan kaedah abstrak sebagai peribadi.
Kami tidak boleh mengisytiharkan kaedah abstrak sebagai statik.
Kaedah abstrak tidak boleh disegerakkan.
Lakukan(TBD)
Kata kunci abstrak hanya boleh digunakan dengan kelas dan kaedah.
Kelas abstrak boleh mengandungi pembina dan kaedah statik.
Jika kelas memanjangkan kelas abstrak, ia juga mesti melaksanakan sekurang-kurangnya satu kaedah abstrak.
Kelas abstrak boleh mengandungi kaedah utama dan kaedah akhir.
Kelas abstrak boleh mengandungi kaedah abstrak yang berlebihan.
Kami boleh mengisytiharkan kelas dalaman tempatan sebagai abstrak.
Kita boleh mengisytiharkan kaedah abstrak dengan klausa lontaran.
Apakah itu kelas abstrak:
Kelas abstrak ialah kelas yang diisytiharkan abstrak—ia mungkin mengandungi kaedah abstrak atau tidak. Kelas abstrak tidak boleh dibuat seketika, tetapi ia boleh disubkelaskan.
Apakah kaedah abstrak:
Kaedah abstrak ialah kaedah yang diisytiharkan tanpa pelaksanaan, (tanpa pendakap, dan diikuti dengan koma bernoktah), seperti ini:
abstract void moveTo(double deltaX, double deltaY);
*abstraksi: *
Matlamat utamanya adalah untuk mengendalikan kerumitan dengan menyembunyikan butiran yang tidak perlu daripada pengguna.
Menunjukkan hanya data yang diperlukan dan menyembunyikan butiran yang tidak diingini daripada pengguna.
Untuk kelas abstrak, kami ada kelas kanak-kanak. Bolehkah kelas kanak-kanak ini juga menjadi kelas abstrak?
Ya, dalam kes itu, Kelas kanak-kanak tidak boleh dibuat seketika.
Rujukan:https://www.javatpoint.com/abstract-keyword-in-java
package chennai.velachery; public abstract class Parent { abstract void getJob(); void studyWell() { System.out.println("Focus On Maths, Science"); } static void display() { System.out.println("Hi"); } public static void main(String[] args) { Parent.display(); // Parent pp = new Parent(); // pp.display(); // pp.studyWell(); // pp.getJob(); } }
package chennai.velachery; public class Child extends Parent { public static void main(String[] args) { // TODO Auto-generated method stub Child ch = new Child(); ch.getJob(); ch.studyWell(); Child.display(); } @Override //Annotation : Metadata //Data about data void getJob() { // TODO Auto-generated method stub } }
Contoh 2:
package chennai.velachery; public abstract class Parent1 { public void watch_tv() { System.out.println("Watching TV"); } public void chat_with_friends() { System.out.println("Chatting with neighbours"); } public abstract void cook(); }
package chennai.velachery; public class Child1 extends Parent1{ public static void main(String[] args) { // Child1 ch = new Child1(); // ch.cook(); // ch.chat_with_friends(); // ch.watch_tv(); // ch.work(); Child1 ch = new Child1(); //Dynamic Binding //Parent Class Reference points to Child class Memory Parent1 parent = new Child1(); parent.watch_tv(); parent.chat_with_friends(); parent.cook(); //parent.work(); } public void watch_tv() { //Runtime Polymorphism System.out.println("Watching OTT"); } @Override public void cook() { // TODO Auto-generated method stub System.out.println("Cooking"); } public void work() { System.out.println("Java Projects"); } }
Antaramuka dalam Java
Antara muka dalam Java ialah rangka tindakan kelas. Ia mempunyai pemalar statik dan kaedah abstrak.
Antara muka dalam Java ialah mekanisme untuk mencapai abstraksi. Hanya terdapat kaedah abstrak dalam antara muka Java, bukan badan kaedah. Ia digunakan untuk mencapai abstraksi dan warisan berbilang dalam Java.
Dalam erti kata lain, anda boleh mengatakan bahawa antara muka boleh mempunyai kaedah dan pembolehubah abstrak. Ia tidak boleh mempunyai badan kaedah.
Mengapa menggunakan antara muka Java?
Terdapat tiga sebab utama untuk menggunakan antara muka. Mereka diberikan di bawah.
Bagaimana untuk mengisytiharkan antara muka?
Antara muka diisytiharkan dengan menggunakan kata kunci antara muka. Ia menyediakan abstraksi keseluruhan; bermakna semua kaedah dalam antara muka diisytiharkan dengan badan kosong, dan semua medan adalah awam, statik dan muktamad secara lalai. Kelas yang melaksanakan antara muka mesti melaksanakan semua kaedah yang diisytiharkan dalam antara muka.
*ANTARA MUKA: *
antara muka ialah sekumpulan kaedah berkaitan dengan badan kosong
100% Abstraksi:
Sintaks:
abstract class Employee { abstract void work(); }
Contoh:
package chennai.velachery; public abstract class Parent { abstract void getJob(); void studyWell() { System.out.println("Focus On Maths, Science"); } static void display() { System.out.println("Hi"); } public static void main(String[] args) { Parent.display(); // Parent pp = new Parent(); // pp.display(); // pp.studyWell(); // pp.getJob(); } }
Rujukan:https://www.javatpoint.com/interface-in-java
Melanjutkan vs Melaksana dalam Java:
Di Java, kata kunci extends digunakan untuk mewarisi semua sifat dan kaedah kelas induk manakala kata kunci implement digunakan untuk melaksanakan kaedah yang ditakrifkan dalam antara muka.
**
Perbezaan Antara melanjutkan dan melaksanakan Kata Kunci**
“melanjutkan” Kata Kunci dalam Java
Di Java, kata kunci extends digunakan untuk menunjukkan bahawa kelas yang ditakrifkan diperoleh daripada kelas asas menggunakan warisan. Jadi pada asasnya, kata kunci extends digunakan untuk melanjutkan fungsi kelas induk kepada subkelas. Di Jawa, berbilang warisan tidak dibenarkan kerana kekaburan. Oleh itu, kelas boleh melanjutkan hanya satu kelas untuk mengelakkan kekaburan.
package chennai.velachery; public class Child extends Parent { public static void main(String[] args) { // TODO Auto-generated method stub Child ch = new Child(); ch.getJob(); ch.studyWell(); Child.display(); } @Override //Annotation : Metadata //Data about data void getJob() { // TODO Auto-generated method stub } }
“melaksanakan” Kata Kunci dalam Java
Di Java, kata kunci implements digunakan untuk melaksanakan antara muka. Antara muka ialah jenis kelas khas yang melaksanakan abstraksi lengkap dan hanya mengandungi kaedah abstrak. Untuk mengakses kaedah antara muka, antara muka mesti "dilaksanakan" oleh kelas lain dengan kata kunci implement dan kaedah perlu dilaksanakan dalam kelas yang mewarisi sifat antara muka. Memandangkan antara muka tidak mempunyai pelaksanaan kaedah, kelas boleh melaksanakan sebarang bilangan antara muka pada satu masa.
/
package chennai.velachery; public abstract class Parent1 { public void watch_tv() { System.out.println("Watching TV"); } public void chat_with_friends() { System.out.println("Chatting with neighbours"); } public abstract void cook(); }
Rujukan:https://www.geeksforgeeks.org/extends-vs-implements-in-java/
Contoh:
abstract class Employee { abstract void work(); }
package chennai.velachery; public abstract class Parent { abstract void getJob(); void studyWell() { System.out.println("Focus On Maths, Science"); } static void display() { System.out.println("Hi"); } public static void main(String[] args) { Parent.display(); // Parent pp = new Parent(); // pp.display(); // pp.studyWell(); // pp.getJob(); } }
Kelas Abstrak u>
0 hingga 100% Abstraksi
kata kunci abstrak
pembolehubah bukan statik
boleh hadir
* *vs Antara Muka
100% Abstraksi
Tiada kata kunci abstrak
semua pembolehubah adalah statik,
muktamad dan awam
Atas ialah kandungan terperinci Kata kunci: Abstrak-Melanjutkan, Antara Muka-Implements. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!