هل تدعم Java القيم الافتراضية للمعلمات؟
```html
السلام عليكم! لقد بدأت للتو في تعلم Java، وقبل ذلك كنت أكتب قليلاً بلغة Python وJavaScript. هناك اعتدت على أنه يمكنك تعيين قيم افتراضية لمعاملات الدوال، على سبيل المثال:
```python
def greet(name="Гость"):
print("Привет, " + name)
```
واستدعاء الدالة مع أو بدون وسيط. في Java حاولت فعل شيء مشابه، ولكن المترجم يشتكي من الصيغة. إليك الكود الخاص بي:
```java
public class Hello {
public static void greet(String name = "Гость") {
System.out.println("Привет, " + name);
}
public static void main(String[] args) {
greet(); // أريد الاستدعاء بدون وسيط
greet("Анна");
}
}
```
IntelliJ IDEA يضع خطًا تحت = "Гость" باللون الأحمر ويكتب "unexpected type". لقد بحثت في Google، لكنني وجدت آراء مختلفة كثيرة - البعض يقول إن هذا غير مدعوم، والبعض الآخر ينصح باستخدام Builder أو Optional. من فضلكم، أرشدوني كيف أحل هذه المشكلة بشكل صحيح في Java؟ هل هناك نمط قياسي لمحاكاة القيم الافتراضية؟
```