Javaのmainメソッドは「static public void main()」の順序で書ける?修飾子の並び順を解説
はい、可能です。Javaでは public static void main() の順序を static public void main() に変更しても、コンパイル時にも実行時にもエラーは発生しません。
Javaではアクセス修飾子(public、private、protected など)は任意の順序で宣言できます。ルールとしては、メソッド名が最後に来ること、戻り値の型がその直前に来ることが決まっており、それ以外の部分(static やアクセス修飾子など)の順序は自由に選べます。
ただし、Javaのコーディング規約では、可読性の観点からアクセス修飾子を先頭に置くことが推奨されています。そのため、一般的には「public static void main()」という順序で書くのが標準的なスタイルとされています。
基本構文
public static void main(String args[]) {
// 処理内容
}サンプルコード
class ParentTest {
int age = 10;
public int getAge() {
age += 25;
return age;
}
}
public class Test {
// ここでは static public void main(String args[]) と宣言している
static public void main(String args[]) {
ParentTest pt = new ParentTest();
System.out.println("Age is: " + pt.getAge());
}
}上記の例では、通常の public static void main() ではなく static public void main() という順序でmainメソッドを宣言しています。このコードは問題なくコンパイル・実行され、エラーは一切発生しません。
実行結果
Age is: 35
まとめ
このように、Javaにおける修飾子の順序は文法的には自由ですが、チーム開発やコードレビューの際に混乱を避けるためにも、「public static void」のようにアクセス修飾子から始める標準的な書き方に統一することをおすすめします。
-
JavaのFocusListenerインターフェースとは?重要性と実装方法を解説
FocusListenerインターフェースとはJava AWT/SwingにおけるFocusListenerは、コンポーネントがキーボードフォーカスを取得・喪失したタイミングで発生するイベントを受け取るためのリスナーインターフェースです。ユーザーがどのコンポーネントを操作しているのかを検知できるため、入力フォームのバリデーションやガイド表示など、対話的なUIを実現するうえで重要な役割を担います。フォーカスイベントは、コンポーネントがキーボードフォーカスを取得または喪失したときに生成されます。フォーカスイベントを表すオブジェクトは、FocusEventクラスから作成されます。FocusEvent
-
JavaでJComboBoxの項目をソートする方法!DefaultComboBoxModelのカスタマイズ例
JComboBoxはJComponentクラスのサブクラスであり、テキストフィールドと、ユーザーが値を選択できるドロップダウンリストを組み合わせたSwingコンポーネントです。ユーザーがコンボボックスを操作すると、ActionListener、ChangeListener、ItemListenerといったインターフェースを通じてイベントを受け取ることができます。 ただし、標準のJComboBoxにはアイテムを並べ替える(ソートする)機能は用意されていません。そこで本記事では、DefaultComboBoxModelクラスを継承した独自のモデルクラスを作成し、コンボボックスの項目を常に整序された