こんにちは。
Java を学習していて、「結構ややこしいルール多いな」と思ったので、
誰がみてもわかりやすい備忘録的な位置づけで本ブログを書いています。
以下に当てはまる方は、ぜひご活用ください!
- ある程度コードが書くことができ、オラクル資格:Java Silverを取得しようとしている
- 覚えきれないJavaのルールを見返せるものがほしい
こんにちは。
Java を学習していて、「結構ややこしいルール多いな」と思ったので、
誰がみてもわかりやすい備忘録的な位置づけで本ブログを書いています。
以下に当てはまる方は、ぜひご活用ください!
今回は、下記ソースを参考にJavaクラスの基本構造について説明します。
ソース1:メインパッケージ.メインクラスpackage jp.co.MainPackage;
import static jp.co.SubPackage.MainClass.print;
public class MainClass{
public static void main(String[] args){
print();
}
}
package jp.co.SubPackage;
public class MainClass{
public static void print(){
String out = “出力文”;
System.out.println(out);
}
}
クラスはフィールドとメソッドの2つで構成されます。
参考ソースの内、クラスに該当する領域は以下になります。
public class MainClass{
public static void main(String[] args){
print();
}
}
public class MainClass{
public static void print(){
String out = “出力文”;
System.out.println(out);
}
}
条件は以下の通りです。
String[]の引数は、以下のJavaコマンド実行時に指定された引数が入ってきます。
javaコマンド:java [クラス名] [引数][引数2][引数3]….
「例:java MainClass windows macbook」であれば引数は「windows」と「macbook」になります。
プログラム内で使用するデータを保持します。
フィールドで保持したデータを処理します。
パッケージの目的は、アクセス制御機能であり、
「パッケージ名.クラス名」の完全修飾クラス名によって、
他のソフトウェアと重複してしまうクラス名を識別することです。
よってパッケージ名は一意である必要があります。
例(下線がパッケージ名):
・jp.co.MainPackage.main
・jp.co.SubPackage.main
→同じ「クラス名:main」がパッケージにより識別される。
他クラスのフィールド・メソッドにアクセスできるようにするためのものです。
ソース1:メインパッケージ.メインクラスpackage jp.co.MainPackage;
import static jp.co.SubPackage.MainClass.print;
public class MainClass{
public static void main(String[] args){
print();
}
}
package jp.co.SubPackage;
public class MainClass{
public static void print(){
String out = “出力文”;
System.out.println(out);
}
}
上の参考ソースの例であれば、
mainメソッドでSubClassパッケージのMainClassの「print()」を呼び出そうとしています。
そのためには、「import static jp.co.SubPackage.MainClass.print;」を設定することで、
他パッケージ・クラスのメソッドの使用が可能になります。
import文が不要です。
以上。