紙コップ

Javaの修飾子

2009-02-05 14:32:05

修飾子は、クラス、インターフェース、フィールド、メソッド、コンストラクタを修飾するものです。



・主にアクセス権を実現するために付与します。

・ただし、アクセス権以外の修飾子もあります。

・クラス、インターフェース、フィールド、メソッド、コンストラクタそれぞれで、付与できる修飾子が少しづつ違います。

・そして、クラス矛盾した修飾子を付与することはできません。



それでは、どの修飾子が何に付与できるか見ていきましょう。





■クラス

public  公開。すべてのクラスからアクセス可。

abstract 抽象。

final   サブクラスの作成不可。

strictfp 浮動小数点がFP-strictという規則に従う。



■インターフェース

public  公開。すべてのクラスからアクセス可。

abstract 抽象 ※インターフェースはもともと抽象クラス扱いなので付与しない事が推奨。

final   サブクラスの作成不可。

strictfp 浮動小数点がFP-strictという規則に従う。



■フィールド

public   公開。すべてのクラスからアクセス可。

protected 同一パッケージ内、サブクラスからアクセス可。

private  同じクラスからのみ、アクセス可。

final   値の変更が不可。

static   静的な。クラス変数。クラスフィールドとも言う。

transient オブジェクト直列化(シリアライズ)時に保存しない。

volatile  コンパイラ時の最適化をしない。



■メソッド

public    公開。すべてのクラスからアクセス可。

protected   同一パッケージ内、サブクラスからアクセス可。

private    同じクラスからのみ、アクセス可。

abstract   抽象。

final     サブクラスでオーバーライドさせない。

native    プラットフォーム依存のコードで定義される。

static    静的な。クラスメソッド。

synchronized 同期を取る。実行前にロックを取得する。

strictfp   浮動小数点がFP-strictという規則に従う。



■コンストラクタ

public   公開。すべてのクラスからアクセス可。

protected 同一パッケージ内、サブクラスからアクセス可。

private  同じクラスからのみ、アクセス可。





この記事が、参考になった、面白かったという方はクリックをお願いいたします!

※このエントリは ブロガーにより投稿されたものです。朝日インタラクティブ および ZDNet Japan編集部の見解・意向を示すものではありません。
  • 新着記事
  • 特集
  • ブログ