Giriş
Java uygulamaları main metodu olmadan çalışmaz.
Java uygulamaları main metodu olmadan çalışmaz.
1. Java 21 JEP 445 - Flexible Launch Protocol
Örnek
Şu kod derlenir.
arg parametre verilmese bile null değildir. Parametre verilmemişse uzunluğu 0 olan bir dizi alırız.
main ne keyword (anahtar kelime) ne de identifier olarak kabul edilir.
Örnek
Şu kod derlenir.
main metodu şöyle olabilecek
class MyAwesomeApp {void main() {// Awesome code goes here}}
Açıklaması şöyle
- No visibility modifier is needed for the class declaration- main method lookup mechanic, searching for the first available entry point of:1. Any non-private static void main(String... args) method2. Any non-private static void main() method3. A void main(String...) method4. A void main() method
2. Daha Eski Java Sürümleri
2.1 Metodun Özellikleri
JVM imzası aşağıdaki gibi olan bir metod ister.public static void main(String[] args)
Aynı imzayı şöyle de gösterebiliriz.public static main([Ljava/lang/String;)V
main metodu şu özelliklere sahip olmalıdır.Java'da main metodu void dönmelidir. Açıklaması şöyle.
- public olmalı
- ismi main
- static olmalı
- dönüş tipi void
- tek parametre olarak String dizisi almalı
Çünkü main metodu çıksa bile JVM çalışmaya devam edebilir. Bu durumda main'in ne döndürdüğünün zaten önemi kalmaz.The method main must be declared public, static, and void. It must accept a single argument that is an array of strings.
Örnek
Şu kod derlenir.
public static <T extends String> void main(T[] args) {
System.out.println("Hello World!");
}
Şöyle derlenir.public static <T extends String & AutoCloseable> void main(T[] args) {
System.out.println("This still works!");
}
2.2 args null değildirarg parametre verilmese bile null değildir. Parametre verilmemişse uzunluğu 0 olan bir dizi alırız.
public static void main(String[] args){
if(args.length == 0){
//there is no command line input, but args still exists
}
}
2.3 main İsimli Identifiermain ne keyword (anahtar kelime) ne de identifier olarak kabul edilir.
Örnek
Şu kod derlenir.
public class J {
public static void main(String[] args)
{
String main = "The character sequence \"main\" is an identifier, not a keyword or
reserved word.";
System.out.println(main);
}
}
Çıktı olarak şunu alırız.The character sequence "main" is an identifier, not a keyword or reserved word.
teşekkür ederiz hap ve kaliteli bilgiler..
YanıtlaSil