トップ 言語 Java クラス、メソッド、インターフェース Javaのメソッドとは mainメソッド、コンストラクタ、命名規則 Javaのメソッドのオーバーライドとは
Javaのメソッドのオーバライドの規則など。Javaのメソッドのオーバーライドとは何か、また似た用語であるオーバーロードについてまとめています。
この記事の目次です。
1. メソッドのオーバーライドとは
2. オーバーライドの規則
3. メソッドのオーバーロード
メソッドのオーバーライドとは、サブクラス側でスーパークラスで定義されているメソッドと 同じメソッド(名前、パラメータの型、数、並びも同じ)を定義しなおすことです。
オーバーライドの英語は、overrideです。 overrideは、乗り越える、~に優先する、覆す、圧倒する、などの意味を持つ英単語です。
スーパークラスを継承したサブクラスでは、アクセス制限が設定されていない限り、スーパークラスのメソッドが利用できますね。 ただ、場合によっては、スーパークラスのメソッドの処理とは違う処理を行いたい場合や処理を追加したい場合があります。
そのようなときに使うのがオーバーライドの機能です。 スーパクラスのメソッドのシグネチャー(メソッド名、戻り値、引数)と同じメソッドをサブクラスに定義して、 メソッドをオーバーライドします。
このように、オーバーライドを使用するとメソッドを共通化した上で、 メソッド本体に記述するコードを変えることによって、必要な処理を使い分けることができます。 なお、コンストラクタは継承できないので、コンストラクタはオーバーライドできません。
以下ではJavaのメソッドのオーバーライドの規則についてまとめています。
継承できないメソッドはオーバーライドできません。 ですので、final修飾子の付けられたメソッドをオーバーライドすることはできません。
staticメソッドをオーバーライドして、staticではないメソッドにすることはできません。
Javaでは、戻り値と引数が異なるメソッドは別のメソッドになります。 戻り値と引数が異なるメソッドはオーバーライドできません。
privateや未指定のデフォルトのアクセス制限が指定されているメソッドはオーバーライドできません。
throw句がある場合は同じ例外またはそのサブクラスの例外、もしくは例外なしにしないといけません。
メソッドのオーバーロードとは、同じクラスにコンストラクタや同じ名前のメソッドを複数定義することです。
オーバーロードの英語は、overloadです。 overloadは、過負荷(にする)、過重積載(する)、過重負担(をかける)、などの意味を持つ英単語です。
オーバーロードは以下のような場合に別の名前ではなく、同じ名前のメソッドを呼び出すことが出来るので便利です。
以下にJavaのコンストラクタのオーバーロードの例を示します。
new演算子でコンストラクタを呼び出すと「Hello XXX!!」と表示するサンプルコードです。 ファイル名はHello.javaです。
class Hello { Hello() { System.out.println("Hello!!"); } Hello(String name) { System.out.println("Hello " + name + "!!"); } public static void main(String args[]){ new Hello(); new Hello("World"); } }
以下はコンパイルと実行の例です。
javac Hello.java java Hello Hello!! Hello World!!
以下にJavaにおける同じ名前のメソッドのオーバーロードの例を示します。
printHelloMessageメソッドを呼び出すと「Hello XXX!!」と表示するサンプルコードです。 ファイル名はHello2.javaです。
class Hello2 { static String printHelloMessage() { System.out.println("Hello!!"); } static String printHelloMessage(String name) { System.out.println("Hello " + name + "!!"); } public static void main(String args[]){ printHelloMessage(); printHelloMessage("World"); } }
以下はコンパイルと実行の例です。
javac Hello2.java java Hello2 Hello!! Hello World!!
Javaのメソッドとは何かについてまとめています。クラスメソッド、staticメソッドの説明、mainメソッドやコンストラクタについてもまとめています。
Javaとは?から言語の枠を超えるところまで、Java言語についてまとめています。
更新履歴になります。
スポンサーリンク
サイト内のページ
言語
C・C++
/HTML
/Java
/JavaScript
/PHP
/シェルスクリプト
開発環境
Ant
/Burp
/Eclipse
/Fiddler
/gcc
/gdb
/Git
/g++
/JDK
/JMeter
/JUnit
/Teraterm
/ZAP
技術・仕様
Ajax
/CORBA
/Jakarta EE(旧称J2EE、Java EE)
/JNI
ライブラリ/Framework/CMS
bootstrap
/jQuery
/FuelPHP
/Lucene
/MyBatis
/Seasar2
/Spring
/Struts
/WordPress
Web API
Google Maps
ITインフラOSとミドルウェア
Linux
/Windows
/シェル
ActiveMQ
/Tomcat
/MariaDB
/MySQL
/Nagios
/Redis
/Solr
ITインフラセキュリティ
公開サーバーのセキュリティ
SI
ホームページの作り方
スポンサーリンク
関連サイト内検索ツール
zealseedsおよび関連サイト内のページが検索できます。
IPアドレス確認ツール
あなたのグローバルIPアドレスは以下です。
18.119.113.79
HTMLの表示色確認ツール
パスワード生成ツール
文字数のプルダウンを選択して、取得ボタンを押すと「a~z、A~Z、0~9」の文字を ランダムに組み合わせた文字列が表示されます。
ここに生成されます。
スポンサーリンク
Copyright (C) 2007-2024 zealseeds. All Rights Reserved. Loarding…