Java’da main() metot

3050 kez okundu.

main() metot, Java’da temel uygulamaların başlangıç noktasıdır. Özellikle konsol uygulamalarında kullanılır. JVM, Java programını çalıştırmaya main() metottan başlar. main() metodunu çalıştıran thread’in ismi de main thread’tir.

main() metodu overload edebilir miyiz?

Evet edebiliriz bunda bir sakınca yoktur. Fakat JVM yine

public static void main(String[] args)

veya

public static void main(String... args)

imzalı metodu çağıracaktır. Yukarıdaki iki metot imzası arasında bir fark yoktur. İkinci imza, değişken parametreli bir metot imzası örneğidir. Yani main metodu, ikinci imzada gösterildiği şekilde de yazabilirsiniz.

Bir metodun imzası, isim ve parametre listesinden (tipleri ve sayısı) oluşur. İmzaya dönüş tipi dahil değildir.
Bir metodun arayüzü ise ismi, parametre listesi (tipleri, sayısı) ve dönüş tipinden oluşur.

Konuya dönecek olursak aşağıdaki gibi metotlar tanımlayabilirsiniz.

public class Deneme{
 
        public static void main(String[] args){
 
                String dizi[] = {"Deneme"};
 
		main(dizi, 10);
 
	}
 
        public static void main(String[] args, int i){
 
                String a = args[0];
 
		int b = i;
 
		System.out.println("a: " + a + " b: " + b);
 
	}
}

 

main() metodu override edebilir miyiz?

Hayır edemezsiniz. Java, static bir metodu override etmeye izin vermez. Çünkü Java’da static metotlar derleme zamanında bind edilir.(bağlanır). Eğer siz bir alt sınıfta üst sınıfta bulunan static bir metodu aynı ad ve imza ile implement ederseniz, üst sınıftaki static metodu alt sınıf için saklamış olursunuz.

main() metot final olabilir mi?

Evet olabilir. Fakat final anahtar kelimesiyle nitelenen metodlar da override edilemezler.

static olmayan bir metot main() metot içerisinden nasıl çağırılır?

Bu soru tüm static metotlar ve static olmayan (non-static) metodlar için sorulabilir. Sorunun genel hali, bir static metot içerisinden static olmayan bir metot nasıl çağırılır? şeklindedir.
static olmayan metoları, static metotlar içerisinden doğrudan çağıramayız. Çağırmak için static metodun içerisinde, static olmayan metodun ait olduğu sınıftan bir nesne üretip o nesnenin üzerinden static olmayan metoda ulaşmamız gereklidir.

public class Deneme{
 
 
	public static void main(String[] args){
 
		Deneme d = new Deneme();
 
                d.yaz();
 
	}
 
	public void yaz(){
 
		System.out.println("yaz() metodu");
 
	}
 
 
}

You may also like...

Yorum Yazın

avatar
  Subscribe  
Notify of