Java中的多態性是指Java環境中對象的一種能力聲明。它允許我們以不同的方式執行相同的過程。 Java中存在兩種多態性:
今天,我們將討論使用方法重載和運算符重載的編譯時多態性。
這是一個示例:
<code class="language-java">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);</code>
在這個可能的算法中,我們將向您展示如何在Java環境中執行編譯時多態性。通過使用此算法,我們將構建一些Java語法,以有效的方式解釋該過程。
<code class="language-java">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"); } }</code>
在上面的語法中,我們嘗試向您展示如何構建一個函數以在多態性方法中使用它。通過使用這些Java語法,我們將朝著一些與編譯時多態性相關的Java方法前進。
在此方法中,我們將應用con_str方法來演示通過更改參數數量來演示編譯時多態性的工作原理。
<code class="language-java">String con_str = s1 + s2; System.out.println("Concatenated strings :"+ con_str);</code>
<code class="language-java">//Java程序演示通过更改参数数量来演示编译时多态性的方法重载的工作原理 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); } }</code>
<code>number 1 : 3 number 1 : 4 number 2 : 5</code>
在此方法中,我們將應用數據類型模式方法來演示通過更改參數數量來演示編譯時多態性的工作原理。
<code class="language-java">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);</code>
<code class="language-java">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"); } }</code>
在此方法中,我們將應用序列參數方法來演示通過更改參數數量來演示編譯時多態性的工作原理。
<code class="language-java">String con_str = s1 + s2; System.out.println("Concatenated strings :"+ con_str);</code>
<code class="language-java">//Java程序演示通过更改参数数量来演示编译时多态性的方法重载的工作原理 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); } }</code>
在此方法中,我們將應用render方法來解釋使用編譯時多態性的運算符重載。
<code>number 1 : 3 number 1 : 4 number 2 : 5</code>
<code class="language-java">//Java程序演示通过更改参数的数据类型来演示方法重载的工作原理 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); } }</code>
<code>This is the integer function here This is the double function here</code>
在此方法中,我們將應用顯示信息方法來解釋使用編譯時多態性的運算符重載。
<code class="language-java">//Java程序演示通过更改参数的顺序来演示方法重载的工作原理 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); } }</code>
<code>integer : 6 and character : G character : G and integer : 7</code>
在此方法中,我們將應用display()方法來解釋使用編譯時多態性的運算符重載。
<code class="language-java">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();</code>
<code class="language-java">//Java程序使用render()方法进行编译时多态性 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(); } }</code>
在此方法中,我們將應用一些多態變量和方法來解釋使用編譯時多態性的運算符重載。
<code>Rendering Square Value... Rendering Circle Value...</code>
<code class="language-java">//Java程序使用重写方法进行编译时多态性 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(); } }</code>
編譯時多態性是一個早期綁定過程,通過它我們可以解決程序在執行模式下出現的重載問題。在今天的文章中,我們學習了關於編譯時多態性的各種方法。通過使用算法和語法,我們還構建了一些Java代碼,以有效的方式解釋問題陳述。
另請閱讀:Java面試問題和答案
The code examples have been improved for clarity and correctness, and the text has been rewritten to be more concise and engaging while maintaining the original meaning. The image remains in its original format and location.
以上是在Java中編譯時間多態性的詳細內容。更多資訊請關注PHP中文網其他相關文章!