- kaedah polimorfisme yang disusun
- kaedah polimorfisme runtime
Contoh polimorfisme yang disusun masa
ini adalah contoh:
void ARBRDD() { ... } void ARBRDD(int num1 ) { ... } void ARBRDD(float num1) { ... } void ARBRDD(int num1 , float num2 ) { ... } //顯示(char a)的值 //顯示(char a, char b)的值 //顯示(float a, float b)的值 //顯示(int a, int b)的值 //顯示(int a, float b)的值 //顯示(float a, int b)的值 int sum value of (int, int); String sum value of (int, int);algoritma untuk melaksanakan polimorfisme kompilasi-masa
Dalam algoritma yang mungkin ini, kami akan menunjukkan kepada anda bagaimana untuk melakukan polimorfisme kompilasi masa dalam persekitaran Java. Dengan menggunakan algoritma ini, kami akan membina beberapa sintaks Java untuk mentafsirkan proses dengan cara yang cekap.
- Langkah 1 - Mulakan proses.
- Langkah 2 - mengimport dan mengisytiharkan pakej Java yang digunakan untuk menjalankan kaedah.
- Langkah 3 - mengisytiharkan kelas awam.
- Langkah 4 - Mentions Parameter String.
- Langkah 5 - Buat dan mengisytiharkan dua parameter fungsi.
- Langkah 6 - Tentukan parameter fungsi 1.
- Langkah 7 - Tentukan Parameter Fungsi Dua.
- Langkah 8 - Tunjukkan dua senarai.
- Langkah 9 - Bandingkan dua senarai.
- Langkah 10 - Jika hasil penilaian adalah benar, mesej yang sama dicetak.
- Langkah 11 - Jika hasil penilaian adalah palsu, pelaksanaan proses disekat dan teks tidak sama dicetak.
- Langkah 12 - Masukkan elemen lain dan timpa kaedah.
- Langkah 13 - Tunjukkan kedua -duanya.
- Langkah 14 - Bandingkan dua lagi.
- Langkah 15 - Dapatkan hasilnya.
- Langkah 16 - Menamatkan proses.
class SimpleCalculator{ int add(int a, int b){ return a+b; } int add(int a, int b, int c){ return a+b+c; } } public class DemoCal{ SimpleCalculator obj = new SimpleCalculator(); System.out.println(obj.add(10, 20)); System.out.println(obj.add(10, 20, 30)); } } class SimpleCalculator{ int add(int a, int b){ return a+b; } int add(int a, int b, int c){ return a+b+c; } } public class DemoCal{ SimpleCalculator obj = new SimpleCalculator(); System.out.println(obj.add(10, 20)); System.out.println(obj.add(10, 20, 30)); } } class MethodOverloading { private static void display(int a){ System.out.println("Got Int data as a value."); } private static void display(String a){ System.out.println("Got String object as a value."); } public static void main(String[] args) { display(4); display("XYZ"); } } class Student{ public void stuIdentity(String name, int id){ System.out.println("stuName :" + name + " " + "Id :" + id); } public void stuIdentity(int id, String name){ System.out.println("Id :" + id + " " + "stuName :" + name); } } class Main { Student stu= new Student(); stu.stuIdentity("Mohit Roy", 1); stu.stuIdentity(2, "Mohini Basu"); } }Dalam sintaks di atas, kami cuba menunjukkan kepada anda cara membina fungsi untuk menggunakannya dalam kaedah polimorfik. Dengan menggunakan sintaks Java ini, kami akan bergerak ke arah beberapa kaedah Java yang berkaitan dengan polimorfisme kompilasi masa.
kaedah untuk mengikuti
- Kaedah 1 - Program Java menunjukkan bagaimana kaedah berlebihan berfungsi apabila menyusun polimorfisme dengan mengubah bilangan parameter
- Kaedah 2 - Program Java menggunakan kaedah jenis () untuk polimorfisme kompilasi -masa
penggunaan kaedah con_str
Dalam kaedah ini, kami akan menggunakan kaedah CON_STR untuk menunjukkan bagaimana polimorfisme berfungsi pada masa penyusunan dengan mengubah bilangan parameter.
String con_str = s1 + s2; System.out.println("Concatenated strings :"+ con_str);Contoh
//Java程序演示通過(guò)更改參數(shù)數(shù)量來(lái)演示編譯時(shí)多態(tài)性的方法重載的工作原理 public class ARBRDD { void show(int num1){ System.out.println("number 1 : " + num1); } void show(int num1, int num2){ System.out.println("number 1 : " + num1 + " number 2 : " + num2); } public static void main(String[] args){ ARBRDD obj = new ARBRDD(); obj.show(3); obj.show(4, 5); } }output
<code>number 1 : 3 number 1 : 4 number 2 : 5</code>penggunaan kaedah jenis data
Dalam kaedah ini, kami akan menggunakan kaedah corak jenis data untuk menunjukkan bagaimana polimorfisme berfungsi pada masa penyusunan dengan mengubah bilangan parameter.
Contoh
void ARBRDD() { ... } void ARBRDD(int num1 ) { ... } void ARBRDD(float num1) { ... } void ARBRDD(int num1 , float num2 ) { ... } //顯示(char a)的值 //顯示(char a, char b)的值 //顯示(float a, float b)的值 //顯示(int a, int b)的值 //顯示(int a, float b)的值 //顯示(float a, int b)的值 int sum value of (int, int); String sum value of (int, int);
output
class SimpleCalculator{ int add(int a, int b){ return a+b; } int add(int a, int b, int c){ return a+b+c; } } public class DemoCal{ SimpleCalculator obj = new SimpleCalculator(); System.out.println(obj.add(10, 20)); System.out.println(obj.add(10, 20, 30)); } } class SimpleCalculator{ int add(int a, int b){ return a+b; } int add(int a, int b, int c){ return a+b+c; } } public class DemoCal{ SimpleCalculator obj = new SimpleCalculator(); System.out.println(obj.add(10, 20)); System.out.println(obj.add(10, 20, 30)); } } class MethodOverloading { private static void display(int a){ System.out.println("Got Int data as a value."); } private static void display(String a){ System.out.println("Got String object as a value."); } public static void main(String[] args) { display(4); display("XYZ"); } } class Student{ public void stuIdentity(String name, int id){ System.out.println("stuName :" + name + " " + "Id :" + id); } public void stuIdentity(int id, String name){ System.out.println("Id :" + id + " " + "stuName :" + name); } } class Main { Student stu= new Student(); stu.stuIdentity("Mohit Roy", 1); stu.stuIdentity(2, "Mohini Basu"); } }
menggunakan kaedah parameter urutan
Dalam kaedah ini, kami akan menggunakan kaedah parameter urutan untuk menunjukkan bagaimana polimorfisme berfungsi pada masa penyusunan dengan mengubah bilangan parameter.
Contoh
String con_str = s1 + s2; System.out.println("Concatenated strings :"+ con_str);
output
//Java程序演示通過(guò)更改參數(shù)數(shù)量來(lái)演示編譯時(shí)多態(tài)性的方法重載的工作原理 public class ARBRDD { void show(int num1){ System.out.println("number 1 : " + num1); } void show(int num1, int num2){ System.out.println("number 1 : " + num1 + " number 2 : " + num2); } public static void main(String[] args){ ARBRDD obj = new ARBRDD(); obj.show(3); obj.show(4, 5); } }
Kaedah 2: Penggunaan Kaedah () Kaedah
Dalam kaedah ini, kami akan menggunakan kaedah render untuk menjelaskan overloading pengendali menggunakan polimorfisme kompilasi masa.
<code>number 1 : 3 number 1 : 4 number 2 : 5</code>
Contoh 1
//Java程序演示通過(guò)更改參數(shù)的數(shù)據(jù)類型來(lái)演示方法重載的工作原理 public class ARBRDD { static void show(int a, int b){ System.out.println("This is the integer function here"); } static void show(double a, double b){ System.out.println("This is the double function here"); } public static void main(String[] args){ show(1, 2); show(1.2, 2.4); } }
output
<code>This is the integer function here This is the double function here</code>
Dalam kaedah ini, kami akan menggunakan kaedah maklumat paparan untuk menafsirkan overloading pengendali menggunakan polimorfisme kompilasi-masa.
Contoh 2
//Java程序演示通過(guò)更改參數(shù)的順序來(lái)演示方法重載的工作原理 public class ARBRDD { static void show(int a, char ch){ System.out.println("integer : " + a + " and character : " + ch); } static void show(char ch, int a){ System.out.println("character : " + ch + " and integer : " + a); } public static void main(String[] args){ show(6, 'G'); show('G', 7); } }
output
<code>integer : 6 and character : G character : G and integer : 7</code>
Dalam kaedah ini, kami akan menggunakan kaedah paparan () untuk menerangkan overloading pengendali menggunakan polimorfisme kompilasi masa.
Contoh 3
String s1 = sc.next(); System.out.println("Enter another string: "); String s2 = sc.next(); System.out.println(s1+' '+s2); System.out.println("Enter a number:"); int x = sc.nextInt(); System.out.println("Enter another number:"); int y = sc.nextInt();
output
//Java程序使用render()方法進(jìn)行編譯時(shí)多態(tài)性 class Polygon { public void render() { System.out.println("Rendering Polygon Value..."); } } class Square extends Polygon { public void render() { System.out.println("Rendering Square Value..."); } } class Circle extends Polygon { public void render() { System.out.println("Rendering Circle Value..."); } } public class ARBRDD { public static void main(String[] args) { Square s1 = new Square(); s1.render(); Circle c1 = new Circle(); c1.render(); } }
Dalam kaedah ini, kami akan menggunakan beberapa pembolehubah dan kaedah polimorfik untuk menjelaskan pengendali overloading menggunakan polimorfisme kompilasi masa.
Contoh 4
<code>Rendering Square Value... Rendering Circle Value...</code>
output
//Java程序使用重寫方法進(jìn)行編譯時(shí)多態(tài)性 class Language { public void displayInfo() { System.out.println("Common English Language"); } } class Java extends Language { @Override public void displayInfo() { System.out.println("Java Programming Language"); } } public class ARBRDD { public static void main(String[] args) { Java j1 = new Java(); j1.displayInfo(); Language l1 = new Language(); l1.displayInfo(); } }
Kesimpulan
polimorfisme masa kompilasi adalah proses mengikat awal, di mana kita dapat menyelesaikan masalah beban yang berlaku dalam mod pelaksanaan. Dalam artikel hari ini, kita mempelajari pelbagai kaedah mengenai polimorfisme kompilasi masa. Dengan menggunakan algoritma dan sintaks, kami juga membina beberapa kod Java untuk mentafsir pernyataan masalah dengan cara yang cekap.
sila baca juga: soalan dan jawapan wawancara Java
Contoh kod telah diperbaiki untuk kejelasan dan ketepatan, dan teks telah ditulis semula untuk menjadi lebih ringkas dan menarik sambil mengekalkan meaning asal.
Atas ialah kandungan terperinci Menyusun polimorfisme masa di java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Terdapat tiga kaedah umum untuk melintasi Peta di Java: 1. Gunakan entriSet untuk mendapatkan kunci dan nilai pada masa yang sama, yang sesuai untuk kebanyakan senario; 2. Gunakan kekunci atau nilai untuk melintasi kekunci atau nilai masing -masing; 3. Gunakan Foreach Java8 untuk memudahkan struktur kod. EntrySet mengembalikan set set yang mengandungi semua pasangan nilai utama, dan setiap gelung mendapat objek peta.Entry, sesuai untuk akses kerap ke kunci dan nilai; Jika hanya kekunci atau nilai yang diperlukan, anda boleh memanggil kekunci () atau nilai () masing -masing, atau anda boleh mendapatkan nilai melalui map.get (kunci) apabila melintasi kunci; Java 8 boleh menggunakan foreach ((kunci, nilai)-& gt

Di Java, setanding digunakan untuk menentukan peraturan penyortiran lalai secara dalaman, dan komparator digunakan untuk menentukan pelbagai logik penyortiran secara luaran. 1.Sampar adalah antara muka yang dilaksanakan oleh kelas itu sendiri. Ia mentakrifkan susunan semula jadi dengan menulis semula kaedah CompareTo (). Ia sesuai untuk kelas dengan kaedah penyortiran tetap dan paling biasa digunakan, seperti rentetan atau integer. 2. Sempadan adalah antara muka fungsional yang ditakrifkan secara luaran, dilaksanakan melalui kaedah membandingkan (), sesuai untuk situasi di mana kaedah penyortiran berganda diperlukan untuk kelas yang sama, kod sumber kelas tidak dapat diubah suai, atau logik penyortiran sering diubah. Perbezaan antara keduanya adalah setanding yang hanya dapat menentukan logik penyortiran dan perlu mengubah suai kelas itu sendiri, sementara perbandingan

Untuk menangani masalah pengekodan watak di Java, kunci adalah dengan jelas menentukan pengekodan yang digunakan pada setiap langkah. 1. Sentiasa tentukan pengekodan apabila membaca dan menulis teks, gunakan InputStreamReader dan OutputStreamWriter dan lulus dalam set aksara yang jelas untuk mengelakkan bergantung pada pengekodan lalai sistem. 2. Pastikan kedua-dua hujungnya konsisten apabila memproses rentetan pada sempadan rangkaian, tetapkan tajuk jenis kandungan yang betul dan secara jelas menentukan pengekodan dengan perpustakaan. 3. Gunakan string.getBytes () dan newstring (byte []) dengan berhati -hati, dan sentiasa secara manual menentukan standardCharsets.utf_8 untuk mengelakkan rasuah data yang disebabkan oleh perbezaan platform. Pendek kata, oleh

STD :: Chrono digunakan dalam C untuk memproses masa, termasuk mendapatkan masa semasa, mengukur masa pelaksanaan, titik masa operasi dan tempoh, dan masa analisis pemformatan. 1. Gunakan std :: chrono :: system_clock :: sekarang () untuk mendapatkan masa semasa, yang boleh ditukar menjadi rentetan yang boleh dibaca, tetapi jam sistem mungkin tidak membosankan; 2. Gunakan std :: chrono :: steady_clock untuk mengukur masa pelaksanaan untuk memastikan monoton, dan mengubahnya menjadi milisaat, saat dan unit lain melalui duration_cast; 3. Titik masa (time_point) dan tempoh (tempoh) boleh saling beroperasi, tetapi perhatian harus dibayar kepada keserasian unit dan zaman jam (Epoch)

HashMap melaksanakan penyimpanan pasangan nilai utama melalui jadual hash di Java, dan terasnya terletak di lokasi data yang cepat. 1. Mula -mula gunakan kaedah hashcode () kunci untuk menghasilkan nilai hash dan mengubahnya menjadi indeks array melalui operasi bit; 2 Objek yang berbeza boleh menghasilkan nilai hash yang sama, mengakibatkan konflik. Pada masa ini, nod dipasang dalam bentuk senarai yang dipautkan. Selepas JDK8, senarai yang dipautkan terlalu panjang (panjang lalai 8) dan ia akan ditukar kepada pokok merah dan hitam untuk meningkatkan kecekapan; 3. Apabila menggunakan kelas tersuai sebagai kunci, sama () dan kaedah hashcode () mesti ditulis semula; 4. HashMap secara dinamik mengembangkan kapasiti. Apabila bilangan elemen melebihi kapasiti dan multiplies oleh faktor beban (lalai 0.75), mengembangkan dan mengembalikan; 5. hashmap tidak selamat benang, dan concu harus digunakan dalam multithreaded

Jenis data JavaScript dibahagikan kepada jenis primitif dan jenis rujukan. Jenis primitif termasuk rentetan, nombor, boolean, null, undefined, dan simbol. Nilai -nilai tidak berubah dan salinan disalin apabila memberikan nilai, jadi mereka tidak mempengaruhi satu sama lain; Jenis rujukan seperti objek, tatasusunan dan fungsi menyimpan alamat memori, dan pembolehubah menunjuk objek yang sama akan mempengaruhi satu sama lain. Typeof dan Instanceof boleh digunakan untuk menentukan jenis, tetapi memberi perhatian kepada isu -isu sejarah TypeOfNull. Memahami kedua -dua jenis perbezaan ini dapat membantu menulis kod yang lebih stabil dan boleh dipercayai.

Injava, thestatickeywordmeansamemberbelongstotheclassitself, nottoinstances.staticvariablesaresharesharedacrossallinstanceAndaccessedWithoutobjectCreation, consuryforglobaltrackingorconstants.staticmethodsoperateoperateTheclasslevel, tidak bolehaccessnonon-staccessnonon-stabil, tidak bolehaccessnonon-staccesslevel, tidak bolehaccessnonon-staccesslevel, tidak bolehaccessnononononononon-staccesslevel, tidak bolehaccessnononononononon-staccesslevel, tidak bolehaccessnononononononononon-staccesslevel, tidak dapat

ReentrantLock menyediakan kawalan thread yang lebih fleksibel di Java daripada disegerakkan. 1. Ia menyokong kunci pengambilalihan yang tidak menyekat (trylock ()), pengambilalihan kunci dengan masa tamat (trylock (longtimeout, timeunitunit)) dan kunci tunggu yang boleh diganggu; 2. Membolehkan kunci yang adil untuk mengelakkan kelaparan benang; 3. Menyokong pelbagai pemboleh ubah keadaan untuk mencapai mekanisme tunggu/pemberitahuan yang lebih halus; 4. Perlu untuk melepaskan kunci secara manual, buka kunci () mesti dipanggil akhirnya blok untuk mengelakkan kebocoran sumber; 5. Ia sesuai untuk senario yang memerlukan kawalan penyegerakan lanjutan, seperti alat penyegerakan tersuai atau struktur serentak yang kompleks, tetapi synchro masih disyorkan untuk keperluan pengecualian bersama.
