skillup

技術ブログ

Java

Javaのオブジェクト指向に関して

投稿日:

staticメソッド

静的なメソッドで名前付き定数やユーティリティメソッドなどインスタンスを生成することなく使用するメソッド。

どちらかというと例外的な使い方です。

インスタンスメソッド、インスタンス変数にアクセスできないなどのデメリットがある。

アクセス修飾子

public・・・無制限にアクセスできる

(何も記述しない)・・パッケージプライベート 同じパッケージの中からアクセスできる

protected ・・パッケージに加え、継承したクラスのアクセスも許可する

private・・自分自身からしかアクセスさせない

なお変数のアクセス制限はクラスのアクセス制限が適用されてからになるので、publicがついていてもクラス自身がディフォルトスコープの場合、パッケージ外からアクセスできない。

抽象クラス

  • abstract修飾子がつくことで抽象メソッドを持つことができる(つけないと持てない)
  • インスタンス生成が不可能になる。(継承を前提とすることになる)

オーバーライド(親クラスのメソッドを上書きすること)

  • 同じシグネチャ(メソッド名と引数型)のメソッドは継承先のクラスで再定義することが可能。
  • ただしいくつか原則がある。
  • シグネチャ(メソッド名と引数型)を変更することはできない
  • アクセス修飾子は変更できるが、元のアクセス修飾子よりも緩くなければいけない
  • 戻り値は変更できるが、元の型のサブタイプでなければいけない。
  • throws節は削除または変更できるが、変更する場合、元の型のサブタイプでなければいけない
  • 元のメソッドがfinalだとオーバーライドできない。
  • abstractがついている場合、必ず継承しなくてはいけない
  • 継承した場合アノテーションで@overrideをつける
  • オーバーロードと勘違いしないように

オーバーロード(同名メソッドを複数もつこと)

  • 同名のメソッドを定義できるが、引数、戻り値が違っても構わない。
  • ルールとしては戻り値が全部一緒なものはNG。ルールはこれだけ

interface

  • フィールドには暗黙でpublic static final
  • メソッドにはpublic abstractが付く

 

 

 

-Java

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

mavenでJavadoc出力

Netbeansでプロジェクトから右クリックでjavadocの生成はできますが、実はmavenでビルドするときにJavadocを生成できます。 ただ出力するだけではなくてパラーメータをいろいろとセット …

no image

Fileオブジェクトの操作

業務でテキストファイルを読み込んで、別形式に変換して出力みたいなアプリを作ったときにファイルオブジェクトについていろいろ調べたんでまとめておきます。 Contents1 ファイルオブジェクトとは?2 …

no image

Javadocに関して

業務で社内で使うクラスライブラリを作成中です。 他人に使ってもらうものなのでコメントやドキュメント周りの整備が必要になり、javadocをしっかり作りたいと思っています。 Contents1 java …

no image

CSVの保存、文字列としての出力

前回のエントリーではJSfでのCSVダウンロードについて書きましたが、実際にCSVの配列を作る処理について書きます。 CSVのアップロードの時に使ったのと同じCommonsCSVを使います。 Cont …

no image

JAXRSによるRESTAPI作成方法

業務でJavaによりWEBAPI(Rsetful API)を作成する機会ががあったのでちょっとメモしておきます。 Contents1 RestAPIとは2 プログラムの作成方法について RestAPI …