JavaRush /Java Blog /Random-JA /コーヒーブレイク#139。Java でのオーバーロードとオーバーライド。あなたが知らなかった 5 つの Java ...

コーヒーブレイク#139。Java でのオーバーロードとオーバーライド。あなたが知らなかった 5 つの Java メソッド

Random-JA グループに公開済み

Java でのオーバーロードとオーバーライド

出典: Medium この記事では、Java 言語のオーバーライド メソッドとオーバーロード メソッドについて学習します。これらの用語は両方とも互いに混同されることが多いため、各方法の目的とその適用オプションを明確に理解することが重要です。 コーヒーブレイク#139。 Java でのオーバーロードとオーバーライド。 あなたが知らなかった 5 つの Java メソッド - 1

過負荷

Java のスーパークラスとサブクラスの間で、同じクラスまたはメソッド内で同じ名前でパラメータが異なる複数のメソッドを使用することをオーバーロードと呼びます。これを回避するために、同様のアクションを実行する多数のメソッドの代わりに 1 つのメソッドが使用されます。例を挙げて説明しましょう:
public class MethodOverloading {

    public static void main(String[] args){
        MethodOverloading operation = new MethodOverloading();
        operation.mod(12,4);
        operation.mod(12.4,4.2);
    }

    void mod(double a, double b){
        System.out.println(a % b);
    }

    void mod(int a, int b){
        System.out.println(a % b);
    }
}
このコードでは、操作メソッドがオーバーロードされています。同じ名前のメソッドは、異なる型のパラメータを受け入れます。モードの選択は、intパラメータとdoubleパラメータに対して個別に決定されます。プログラムを実行すると、operation.mod (12,4)はvoid.mod (int a, int b)を実行し、operation.mod (12.4,4.2) はvoid.mod (double a, double b)を実行します。

オーバーライド

Java では、スーパークラスとそのクラスを継承するサブクラスを作成できます。これらのサブクラスは、継承する親クラスのメソッドをオーバーライドして置き換えることができます。これは、オーバーライド メソッドを使用して行われます。これは、次の例で理解することができます。
public class MethodOverriding {
    public static void main(String[] args) {
        Cat cat = new Cat();
        cat.sound();

        Bee bee = new Bee();
        bee.sound();
    }
}

class Animal {
    void sound(){
        System.out.println("Animal sounds");
    }
}

class Cat extends Animal{
    @Override
    void sound() {
        System.out.println("Cat : meow meow");
    }
}

class Bee extends Animal{
    @Override
    void sound() {
        System.out.println("Bee : buzz buzz");
    }
}
このコード例では、 Animal という名前のスーパークラスと、そのスーパークラスを継承するCatおよびBeeという名前のサブクラスを作成します。スーパークラスの soundメソッドはオーバーライドされます。注:オーバーロードされたメソッドの分離はコンパイル段階で行われます。オーバーライドされたメソッドの分離は実行時に行われます。

あなたが知らなかった 5 つの Java メソッド

出典: Javarevisited Java 開発エコシステムには、プログラマーがプログラムにインポートして使用できるツールが多数あります。これらには、組み込みのクラスとメソッドが含まれます。これらにより、プログラマーの作業が大幅に簡素化され、コードをより深く理解して作成できるようになります。すべての開発者はそれらについて知っておく必要があります。ここでは、非常にまれですが、仕事で非常に役立つ 5 つの Java メソッドを紹介します。

1.デクリメント正確

decrementExact()は、 Mathクラスの基本的な Java 関数で、指定された引数 (数値) を 1 だけデクリメント/減算し、結果を返します。この関数は、 incrementExact()関数の逆です。たとえば、指定された引数が 11 の場合、結果は 10 になります。引数をデクリメントするとそのデータ型がオーバーフローする場合、例外がスローされます。したがって、この関数を使用するときは、特に多数の場合に注意することが重要です。通常、この関数には整数が使用されます。構文:
Math.decrementExact(number);
例:
System.out.println(Math.decrementExact(11));
// Output: 10

2.getAsDouble

getAsDouble() は、 OptionalDoubleクラスに属するメソッドです。OptionalDoubleオブジェクトは、潜在的に double の数値を保持できるオブジェクトです。クラス内のメソッドを使用すると、オブジェクト内に存在する double 値を操作したり、double 値がまったく含まれていないことを示したりすることができます。 getAsDouble()はそのようなメソッドの 1 つであり、存在する場合は double 値を返します。それ以外の場合は、NoSuchElementException がスローされます。構文:
OptionalDoubleObject.getAsDouble();
例:
OptionalDouble num = OptionalDouble.of(15.0);
System.out.println(num.getAsDouble());
// Output: 15.0

3.abs正確

absExact()メソッドは、Mathクラスのabs()関数に似ています。数値の絶対値、つまり符号に関係なく数値の正の値を返します。唯一の違いは、データ型 ( intまたはlong )として正確に表現されている場合にのみこれを実行することです。戻り値の結果が元のデータ型を超える場合、 ArithmeticExceptionがスローされます。構文:
Math.absExact(number);
例:
System.out.println(Math.absExact(-11));
// Output: 11

4.で終わる

endsWith()は、指定された文字列がパラメータ内の特定のサフィックス (終了単語/文字列) で終わるかどうかに応じてブール値を返す組み込みの文字列メソッドです。このメソッドは、多くの開発者がおそらくよく知っているstartWith()メソッドの逆です。構文:
String.endsWith(String suffix);
例:
String phrase = "I like bananas";
System.out.println(phrase.endsWith("bananas")); // true
System.out.println(phrase.endsWith("Tandrew")); // false
/* Output:
true
false
*/

5.分割統一

DivisionUnsigned()メソッドは、2 つの数値を除算し、除算の結果を返すことができるIntegerクラスのメソッドです。符号なし整数は、通常の符号付き整数と比較して、正の数のみを表すことができます。符号なし整数と符号付き整数の両方の範囲内に同じ数の数値があります (範囲のサイズは 65,536 個の数値です)。ただし、符号なし整数は負にすることができないため、正の範囲の最大値は通常の符号付き整数の最大値よりも大幅に大きくなります。これを単純化するために、代わりに、符号付きバイトと符号なしバイトの例を見てみましょう。バイトには 256 の数値の範囲があります。通常のバイトの値は -128 ~ 127 です。ただし、符号なしバイトの値は 0 ~ 255 です。それ以外の場合、関数は通常の除算とまったく同じように機能します。構文:
Integer.divideUnsigned(int dividend, int divisor);
例:
int dividend = 10;
int divisor = 5;
int quotient = Integer.divideUnsigned(dividend, divisor);
System.out.println(quotient);
// Output: 2

結論

この記事で説明する関数とメソッドの概要は次のとおりです。
  • decrementExact - 指定された数値を 1 ずつ減らす/減算します。

  • getAsDouble - OptionalDouble関数の一部で、double 値を持つ数値を返すか、数値が存在しないことを示します。

  • absExact - 元のデータ型として表現できる場合、数値の絶対値を返します。

  • opensWith() - 指定されたサフィックスが指定された文字列に存在するかどうかに応じてブール値を返します。

  • DivisionUnsigned() - 通常の除算を実行し、数値を除算した結果を返します。

コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION