検索
ホームページJava&#&チュートリアルJavaの時間多型をコンパイルします

Compile Time Polymorphism in Java

Javaの多型は、Java環境におけるオブジェクトの能力宣言を指します。これにより、同じプロセスをさまざまな方法で実行できます。 Javaには2つのタイプの多型があります:

    コンパイルされた多型方法
  • ランタイム多型法
今日、メソッドのオーバーロードとオペレーターのオーバーロードを使用して、コンパイル時間の多型について説明します。

コンパイルされた時間多型例

これは例です:

コンパイル時間の多型を実行するための
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);
アルゴリズム

この可能なアルゴリズムでは、Java環境でコンパイル時間の多型を実行する方法を示します。このアルゴリズムを使用することにより、いくつかのJava構文を構築して、プロセスを効率的な方法で解釈します。

    ステップ1
  • - プロセスを開始します。
  • ステップ2
  • - メソッドの実行に使用されるJavaパッケージをインポートおよび宣言します。
  • ステップ3
  • - パブリッククラスを宣言します。
  • ステップ4
  • - 文字列パラメーターに言及します。
  • ステップ5
  • - 2つの関数パラメーターを作成および宣言します。
  • ステップ6
  • - 関数パラメーター1を定義します。
  • ステップ7
  • - 関数パラメーター2を定義します。
  • ステップ8
  • - 2つのリストを表示します。
  • ステップ9
  • - 2つのリストを比較します。
  • ステップ10
  • - 評価結果が真である場合、等しいメッセージが印刷されます。
  • ステップ11
  • - 評価結果が虚偽の場合、プロセスの実行がブロックされ、不均等なテキストが印刷されます。
  • ステップ12
  • - 別の要素を挿入して、メソッドを上書きします。
  • ステップ13
  • - 両方を表示します。
  • ステップ14
  • - もう一度2つを比較します。
  • ステップ15
  • - 結果を取得します。
  • ステップ16
  • - プロセスを終了します。 コンパイル時間の多型を実行するための
  • 構文

上記の構文では、多型法で使用する機能を構築する方法を紹介します。これらのJava構文を使用することにより、コンパイル時間の多型に関連するいくつかの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");
}
}

に従う方法

    メソッド1
  • -Javaプログラムは、パラメーターの数を変更することにより、多型をコンパイルするときにメソッドの過負荷がどのように機能するかを示しています
  • メソッド2
  • - javaプログラムは、コンパイル時のポリ型にrender()タイプメソッドを使用します
  • メソッド1:数値パラメーターを使用して、コンパイル時間の多型を実行します

con_strメソッドの使用

この方法では、CON_STRメソッドを適用して、パラメーターの数を変更することにより、コンパイル時に多型がどのように機能するかを実証します。

String con_str = s1 + s2;
System.out.println("Concatenated strings :"+ con_str);

output

//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>number 1 : 3
number 1 : 4 number 2 : 5</code>

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");
}
}
シーケンスパラメーターメソッドの使用

この方法では、シーケンスパラメーター法を適用して、パラメーターの数を変更することにより、コンパイル時に多型がどのように機能するかを実証します。

String con_str = s1 + s2;
System.out.println("Concatenated strings :"+ con_str);
output

//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);
   }
}
メソッド2:render()メソッドの使用

この方法では、レンダリング方法を適用して、コンパイル時間の多型を使用したオペレーターの過負荷を説明します。

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

output
//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>This is the integer function here
This is the double function here</code>
例2

output

//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);
   }
}
この方法では、display()メソッドを適用して、コンパイル時間の多型を使用してオペレーターの過負荷を説明します。

例3
<code>integer : 6 and character : G
character : G and integer : 7</code>

output

この方法では、コンパイル時間の多型を使用したオペレーターの過負荷を説明するために、いくつかの多型変数と方法を適用します。
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();

例4

//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();
   }
}

output

<code>Rendering Square Value...
Rendering Circle Value...</code>
結論

編集時間の多型は初期の結合プロセスであり、それを通じて実行モードでプログラムが発生する過負荷の問題を解決できます。今日の記事では、コンパイル時間の多型に関するさまざまな方法を学びます。アルゴリズムと構文を使用することにより、問題のステートメントを効率的な方法で解釈するための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();
   }
}

また読んでください:

javaインタビューの質問と回答

コードの例は、明確さと正確さのために改善されており、テキストは元の形式と場所を維持しながら、より簡潔で魅力的であるように書き直されています

以上がJavaの時間多型をコンパイルしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Javaプラットフォームの独立性:OSの違いJavaプラットフォームの独立性:OSの違いMay 16, 2025 am 12:18 AM

さまざまなオペレーティングシステムでのJavaのパフォーマンスには微妙な違いがあります。 1)JVMの実装は、パフォーマンスとゴミ収集に影響を与えるHotspotやOpenJDKなど、異なります。 2)ファイルシステム構造とパスセパレーターは異なるため、Java標準ライブラリを使用して処理する必要があります。 3)ネットワークプロトコルの差動実装は、ネットワークパフォーマンスに影響します。 4)GUIコンポーネントの外観と動作は、システムによって異なります。標準のライブラリと仮想マシンテストを使用することにより、これらの違いの影響を減らし、Javaプログラムをスムーズに実行できるようにすることができます。

Javaの最高の機能:オブジェクト指向プログラミングからセキュリティまでJavaの最高の機能:オブジェクト指向プログラミングからセキュリティまでMay 16, 2025 am 12:15 AM

JavaOffersObustObject-OrientedProgramming(OOP)andTop-notchsecurityfeatures.1)oopinjavaincludesclasses、オブジェクト、継承、多型、老coluste、および有効化の有効化

JavaScript vs Javaの最良の機能JavaScript vs Javaの最良の機能May 16, 2025 am 12:13 AM

javascriptandjavavedistStrenctsss:javascriptexcelsindynamictypingandasynchronousprogramming、whilejavaisrobustwithstrongopandtyping.1)javascript'sdynamicnatureallowsforrapiddeddevermentand developmentandprototyping、

Javaプラットフォームの独立性:利益、制限、および実装Javaプラットフォームの独立性:利益、制限、および実装May 16, 2025 am 12:12 AM

JavaachievesplatformindependencethroughtheJavaVirtualMachine(JVM)andbytecode.1)TheJVMinterpretsbytecode,allowingthesamecodetorunonanyplatformwithaJVM.2)BytecodeiscompiledfromJavasourcecodeandisplatform-independent.However,limitationsincludepotentialp

Java:本当の言葉のプラットフォームの独立性Java:本当の言葉のプラットフォームの独立性May 16, 2025 am 12:07 AM

java'splatformentencemeansemeansapplicationscanrunonanyplatformwithajvm、「writeonce、runany hwhere。」

JVMパフォーマンスと他の言語JVMパフォーマンスと他の言語May 14, 2025 am 12:16 AM

jvm'sperformanceiscompetitivewitherruntimes、sped、safety、andproductivityの提供

Javaプラットフォームの独立性:使用の例Javaプラットフォームの独立性:使用の例May 14, 2025 am 12:14 AM

javaachievesplatformedentenceTheThejavavirtualMachine(JVM)、avainwithcodetorunonanyplatformwithajvm.1)codescompiledintobytecode、notmachine-specificcode.2)

JVMアーキテクチャ:Java Virtual Machineに深く飛び込みますJVMアーキテクチャ:Java Virtual Machineに深く飛び込みますMay 14, 2025 am 12:12 AM

thejvmisanabstractcomputingMachineCrucialForrunningJavaProgramsDuetoitsPlatForm-IndopentInterChitecture.Itincludes:1)ClassLoaderForloadingClasses、2)Runtimedataareaforforforatastorage、3)executionEngineWithinterter、Jitcompiler、およびGarbagecolfecolfecolfececolfecolfer

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、