الطريقة الرئيسية العامة الثابتة العمومية (public static void main(String[] args)) – طريقة رئيسية في جافا

المقدمة

طريقة الـ \code{main} في جافا عادةً ما تكون أول طريقة تتعلم عندما تبدأ في البرمجة بلغة جافا لأنها نقطة البداية لتنفيذ برنامج جافا. يمكن أن تحتوي طريقة \code{main} على كود للتنفيذ أو استدعاء طرق أخرى، ويمكن وضعها في أي صنف يكون جزءًا من البرنامج. البرامج الأكثر تعقيدًا عادةً ما تحتوي على صنف يحتوي فقط على طريقة \code{main}. يمكن أن يحمل الصنف الذي يحتوي على طريقة \code{main} أي اسم، على الرغم من أنه يمكنك ببساطة استدعاء الصنف \code{Main}.

في الأمثلة التالية، يُطلق على الصنف الذي يحتوي على طريقة \code{main} اسم \code{Test}:

Test.java
public class Test {

	public static void main(String[] args){

		System.out.println("Hello, World!");
	
	}
}

في هذه المقالة، ستتعلم ماذا يعني كل جزء من طريقة \code{main}.

صيغة طريقة \code{main} في جافا

صيغة طريقة \code{main} دائما ما تكون كالتالي:

public static void main(String[] args){
	// بعض الكود
}

يمكنك تغيير اسم الوسيطة المصفوفة من النوع \code{String}. على سبيل المثال، يمكنك تغيير \code{args} إلى \code{myStringArgs}. يمكن كتابة الوسيطة المصفوفة من النوع \code{String} كـ \code{String… args} أو \code{String args[]} .

عام

يحتاج نمط الوصول للطريقة main أن يكون عام حتى يتمكن JRE من الوصول إليها وتنفيذها. إذا لم تكن الطريقة عامة ، فإن الوصول يكون مقيدًا. في الشيفرة البرمجية التالية ، يفتقر طريقة main إلى تعيين وصول عام:

Test.java
public class Test {

	static void main(String[] args){

		System.out.println("Hello, World!");
	
	}
}

عند ترجمة وتشغيل البرنامج ، يحدث الخطأ التالي لأن طريقة main ليست عامة ولا يمكن لـ JRE العثور عليها:

  1. javac Test.java
  2. java Test
Output
Error: Main method not found in class Test, please define the `main` method as: public static void main(String[] args) or a JavaFX application class must extend javafx.application.Application

ثابت

عند بدء تشغيل برنامج Java ، لا يوجد كائن للفئة موجود. يجب أن تكون طريقة main ثابتة بحيث يمكن لـ JVM تحميل الفئة في الذاكرة واستدعاء طريقة main دون إنشاء مثيل للفئة أولاً. في الشيفرة البرمجية التالية ، يفتقر طريقة main إلى تعيين وضع ثابت:

Test.java
public class Test {

	public void main(String[] args){

		System.out.println("Hello, World!");
	
	}
}

عند ترجمة وتشغيل البرنامج ، يحدث الخطأ التالي لأن طريقة main ليست ثابتة:

  1. javac Test.java
  2. java Test
Output
Error: Main method is not static in class Test, please define the `main` method as: public static void main(String[] args)

فارغ

كل أسلوب Java يجب أن يوفر نوع العودة. نوع عودة الأسلوب الرئيسي في Java هو `void` لأنه لا يعيد أي شيء. عند انتهاء أسلوب `main` من التنفيذ، يتم إنهاء برنامج Java، لذا لا حاجة لكائن معين يعود. في الشيفرة البرمجية التالية، يحاول أسلوب `main` إعادة شيء ما عندما يكون نوع العودة `void`:

Test.java
public class Test {

	public static void main(String[] args){
	
		return 0;
	}
}

عند تجميع البرنامج، يحدث الخطأ التالي لأن Java لا تتوقع قيمة إرجاع عندما يكون نوع العودة `void`:

  1. javac Test.java
Output
Test.java:5: error: incompatible types: unexpected return value return 0; ^ 1 error

main

يسمى أسلوب `main` في Java دائمًا `main`. عند بدء تشغيل برنامج Java، يبحث دائمًا عن أسلوب `main`. تظهر الشيفرة البرمجية التالية مثالًا على تغيير اسم أسلوب `main` إلى `myMain`:

Test.java
public class Test {

	public static void myMain(String[] args){

		System.out.println("Hello, World!");
	}
}

عند تجميع وتشغيل البرنامج، يحدث الخطأ التالي لأن JRE لا يمكنها العثور على أسلوب `main` في الفئة:

  1. javac Test.java
  2. java Test
Output
Error: Main method not found in class Test, please define the `main` method as: public static void main(String[] args) or a JavaFX application class must extend javafx.application.Application

String[] args

الطريقة main في جافا تقبل وسيطة واحدة من نوع مصفوفة String. كل سلسلة في المصفوفة هي وسيطة سطر الأوامر. يمكنك استخدام وسائط سطر الأوامر لتأثير عمل البرنامج، أو لتمرير المعلومات إلى البرنامج، أثناء التشغيل. يوضح الكود المثال التالي كيفية طباعة وسائط سطر الأوامر التي تدخلها عند تشغيل البرنامج:

Test.java
public class Test {

	public static void main(String[] args){

    	for(String s : args){
		System.out.println(s);
    	}
	
    }
}

عند تجميع البرنامج وتشغيله بعدة وسائط لسطر الأوامر مفصولة بفراغات، تُطبع الوسائط في الطرفية:

  1. javac Test.java
  2. java Test 1 2 3 "Testing the main method"
Output
1 2 3 Testing the main method

الاستنتاج

في هذه المقالة تعرفت على كل مكون من مكونات الطريقة main في جافا. واصل تعلمك مع المزيد من دروس جافا.

Source:
https://www.digitalocean.com/community/tutorials/public-static-void-main-string-args-java-main-method