開発ノート【java基本構造】
開発ノート【java基本構造】です。
当サイトは、Bootstrap5で製作しています。
基本構造
package宣言
複数のクラスをまとめて分類(管理)する。
パッケージ名(=フォルダ名)は、ユニークにすることで、プログラム相互の利用が可能になる。
ユニークにする方法は、ドメイン名を逆順に並べるやり方が一般的である。
例)jp.devel.emonorichan1.SampleProject
クラス定義
クラス=javaのプログラム(部品のテンプレート)のこと。
クラスは、フィールドとメソッドで構成される。
フィールド(=メンバ変数):情報を格納しているところ。
メソッド:命令や処理を定義したもの。
インスタンス(フィールド、メンバ変数)
クラスと一緒によく使われるのが、インスタンス。
クラスをもとに生成するオブジェクト(テンプレートから作った実際の部品)のことで、メモリ領域を確保する。
クラスは型(テンプレート、ひな型)。
インスタンスは実体。
たい焼きの金型がクラスで、焼きあがったたい焼きがインスタンス。
インスタンス化(=インスタンスを生成)するには、下記のように記述する。
クラス名 インスタンス名 = new クラス名();
class Staff {
String name;
}
public class Staffinfo { // <= クラス定義
public static void main(String[] args) { // <= メソッド定義
Staff yamada = new Staff(); // <= インスタンス化
yamada.name = "Taro Yamada";
System.out.println(yamada.name);
}
}
メソッド
class Staff {
String name;
}
public class Staffinfo { // <= クラス定義
public static void main(String[] args) { // <= メソッド定義
Staff yamada = new Staff(); // <= インスタンス化
yamada.name = "Taro Yamada";
System.out.println(yamada.name);
}
}
アクセス修飾子
メソッドの扱いについて定義する。
- public:他のクラスからアクセス可。
- protected:同一パッケージ・継承クラス内のみアクセス可。
- なし:同一パッケージのクラス内のみアクセス可。
- private:同じクラス内のみアクセス可。
その他修飾子
- static:クラスから直接アクセス可。(インスタンスからアクセスしない)
- abstract:抽象クラス、抽象メソッド。派生して作るクラスで使う。
- final:メソッドの仕様を変更出来ない、上書き出来ないクラス。
戻り値タイプ
mainメソッド実行後の戻り値の有無、有りの場合は戻り値のタイプ(型)を定義する。
- void:戻り値なし
- String:文字列
- int:整数
- w:実数
- boolean:true又はfalse
mainメソッド
javaプログラムを起動すると、JVM(java仮想マシン)が最初に探しにいくクラス。(=mainメソッド)
- main:メソッド名
(String[] args)
-
(String[] args):引数(argsという配列型の引数)
※,(カンマ)で区切ることによって、複数の引数を定義出来る。
クラス中のメソッドを実行する
class Staff {
String name;
int staffid;
String mail;
public void sayhello() {
System.out.println("Hello " + this.name);
}
}
public class Staffinfo {
public static void main(String[] args) {
Staff yamada = new Staff();
yamada.name = "Taro Yamada";
yamada.sayhello();
}
}