ホームページ  >  記事  >  Java  >  06.Javaの基礎 - オーバーロードと書き換え

06.Javaの基礎 - オーバーロードと書き換え

黄舟
黄舟オリジナル
2017-02-27 10:23:241192ブラウズ

基本概念

オーバーロード、つまりオーバーロード、つまりオーバーライド。

違いは、オーバーロードは同じクラスで発生し、書き換えは継承プロセスで発生することです。


オーバーロード

オーバーロードには以下の特徴があります:

  • オーバーロードが発生する関数内で同じクラスで発生

  • 同じ関数名だが、パラメータの数が異なる機能とタイプの)異なる

  • オーバーロードは戻り値の型とは何の関係もありません

例を通して見てみましょう。

public String print(String word) {    return word;
}// ①函数名称相同,参数个数不同public String print(String word, String title) {    return word + title;
}// ②函数名称相同,参数类型不同public String print(int num) {    return num + "";
}// ③函数名称相同,参数类型、个数不同public String print(int num, int num2) {    return num + num2 + "";
}// ④与返回类型无关public int print() {    return 100;
}


Override

overrideには次の特徴があります:

  • オーバーライドのためのメソッド要件

    メソッド名、戻り値の型、パラメータの数/型は完全に同じである必要があります、

  • メソッドは使用できます注釈
  • @Override

    を使用して、オーバーライドかどうかを確認します。

  • サブクラスのメソッドのアクセス権は、親クラスのアクセス権よりも高くなります。
  • サブクラスのメソッドは、親クラスのメソッドよりも小さい例外のみをスローするか、例外をスローしません。
  • オーバーライドされたメソッドには、
  • final、private、static

    修飾子を含めることはできません。なぜなら、final や private で変更されたメソッドは継承できず、静的メソッドは形式的に書き換えられるだけですが、実際にはサブクラスが独自の静的メソッドを定義しているだけです。

  • 書き換えの例を見てみましょう:
class Parent {
    String word ="Parent";    void print(){
    }
}

class Son extends Parent {
    String word ="Son";    @Override
    void print(){
        System.out.println(word);
    }
}

class Grandson extends Son {
    String word ="Grandson";    @Override
    void print(){
        System.out.println(word+"-"+super.word);
    }
}

上記は 06.Java Basics - Overloading & Rewriting の内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.ん)!


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。