対象 | 慣習 | 例 |
クラス名 | 名詞、先頭大文字、単語区切り大文字 | MyClass |
フィールド名 | 名詞、先頭小文字、単語区切り大文字 | myBook |
定数※ | 名詞、全て大文字、単語は_で繋ぐ | MY_SAMPLE |
メソッド名 | 動詞、先頭小文字、単語区切り大文字 | findByID |
値取得(getter) | getXxxx | |
判定(boolean) | isXxxx | |
値設定(setter) | setXxxx |
プログラムの前提条件をチェックし、プログラムの正しい動作を保証するための機能。
assert trueになるべき条件;
assert trueになるべき条件: メッセージ;
例:
long fact(long n)
{
assert n >= 0: "n = " + n + "(負の階乗は未定義)";
if( n == 0 )
return( 1 );
else
return( n * fact(n-1) );
}
System.out.println(オブジェクト);でインスタンスの詳細が分かるように、public String toString()メソッドを全てのクラス宣言で、フィールドの値を文字列に変換するように、定義しておく!
ドキュメント生成ツールであり、Javaソースプログラムから特定の情報を抽出し、そのドキュメントをHTML形式で生成する。Java APIもjavadocで生成されている。
例:
import java.io.*; // おまじない
/**
* 階乗を求めるプログラム
* @author 出口 弘
* @version 2.1
*/
class Fact1
{
/**
* キー入力された整数の階乗を計算して画面に表示する
* @see java.lang.Long#parseLong
*/
public static void main(String args[]) throws IOException
{
String str;
long n;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("整数を入力して下さい:");
str = br.readLine();
n = Long.parseLong(str);
System.out.println(n + "の階乗は" + fact(n) + "です。");
}
/**
* 階乗を求めるメソッド再帰版
* @param n 非負整数
* @return 階乗
*/
static long fact(long n)
{
assert n >= 0: "n = " + n + "(負の階乗は未定義)";
if( n == 0 )
return( 1 );
else
return( n * fact(n-1) );
}
}
// end of Fact1.java
複数のクラスファイルやその他のファイルをまとめて1つにして圧縮したファイル形式。
オプション | 意味 | 説明 |
c | create | アーカイブを新規作成する |
t | table | アーカイブの内容を一覧表示する |
x | extract | 指定の (またはすべての) ファイルをアーカイブから抽出する |
u | update | 既存アーカイブを更新する |
v | view | 標準出力に詳細な出力を生成する |
f | file | アーカイブファイル名を指定する |
m | manifest | 指定のマニフェストファイルからマニフェスト情報を取り込む |
0 | zero | 格納のみ。ZIP 圧縮を使用しない |
M | Manifest | エントリのマニフェストファイルを作成しない |
i | index | 指定の jar ファイルのインデックス情報を生成する |
C | Cd | 指定のディレクトリに変更し、以下のファイルを取り込む |
マニフェストファイルは、JARファイルに格納されているファイル情報を記述したファイルで、 マニフェストファイルmanifest.txtに、 「Main-Class: A」 と書いて、JARファイルに取り込んでおけば、JARファイルを、Aクラスのmainメソッドから、直接実行できる。
JARファイルに、マニフェストファイルを取り込んで、クラスファイルを格納する
|
![]() |
|
定義内容 | 図の名称 | 用途 | |
論理 モデル | 問題領域構造 システム仕様 システム構造 | クラス図 | システムを構成するクラスとクラス間の関係(汎化、関連、集約)を定義 |
オブジェクト図 | クラスが実際にオブジェクトとしてインスタンス化(実体化)された場面の関係を表現 | ||
システム機能 振る舞い 協調 | ユースケース図 | アクター(システムのユーザ)とサービスの関連からシステム要求を表現 | |
シーケンス図 | オブジェクト間のメッセージのやりとりを時系列で表現 | ||
コラボレーション図 | オブジェクト間の関係(メッセージのやりとり)を空間的に表現 | ||
状態/イベント ワークフロー | ステートチャート図 | インスタンスやシステム全体の振る舞いを状態と遷移によって表現(状態遷移図) | |
アクティビティ図 | アクティビティのフローを表現(フローチャート、データフロー図) | ||
物理 モデル | モジュール・ファイル | コンポーネント図 | システムの物理的なインプリメンテーションを表現 |
動作環境 | デプロイメント図 | システム動作時のコンフィグレーションを表現 |