首頁 >Java >java教程 >在Java中編譯時間多態性

在Java中編譯時間多態性

DDD
DDD原創
2025-02-07 11:39:141005瀏覽

Compile Time Polymorphism in Java

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語法,以有效的方式解釋該過程。

  • 步驟1 - 開始該過程。
  • 步驟2 - 導入並聲明用於運行該方法的Java包。
  • 步驟3 - 聲明一個公共類。
  • 步驟4 - 提到字符串參數。
  • 步驟5 - 創建並聲明兩個函數參數。
  • 步驟6 - 定義函數參數一。
  • 步驟7 - 定義函數參數二。
  • 步驟8 - 顯示兩個列表。
  • 步驟9 - 比較兩個列表。
  • 步驟10 - 如果評估結果為真,則打印相等的消息。
  • 步驟11 - 如果評估結果為假,則阻止執行過程並打印不相等文本。
  • 步驟12 - 插入另一個元素並覆蓋該方法。
  • 步驟13 - 顯示兩者。
  • 步驟14 - 再次比較兩者。
  • 步驟15 - 獲取結果。
  • 步驟16 - 終止該過程。

執行編譯時多態性的語法

<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方法前進。

遵循的方法

  • 方法1 - Java程序演示通過更改參數數量來演示編譯時多態性的方法重載的工作原理
  • 方法2 - Java程序使用render()類型方法進行編譯時多態性

方法1:使用數字參數執行編譯時多態性

con_str方法的使用

在此方法中,我們將應用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>

方法2:render()方法的使用

在此方法中,我們將應用render方法來解釋使用編譯時多態性的運算符重載。

<code>number 1 : 3
number 1 : 4 number 2 : 5</code>

示例1

<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>

在此方法中,我們將應用顯示信息方法來解釋使用編譯時多態性的運算符重載。

示例2

<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()方法來解釋使用編譯時多態性的運算符重載。

示例3

<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>

在此方法中,我們將應用一些多態變量和方法來解釋使用編譯時多態性的運算符重載。

示例4

<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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn