SORU
28 EYLÜL 2008, Pazar


Neden Java temel yöntem statik mi?

Bir Java yöntemi imzası() anayöntem:

public static void main(String[] args){
    ...
}

Bu yöntem için bir sebep statik var mı?

CEVAP
30 EYLÜL 2008, Salı


Bu Sözleşme sadece. Hatta adı main () ve geçirilen bağımsız değişkenler tamamen Kongre.

Java.exe (veya Windows javaw.exe ) çalıştırdığınızda, gerçekten neler oluyor? (JNI) Java Yerel Arayüzü birkaç telefon görüşmesi. Bu çağrılar gerçekten JVM DLL (sağ java.exe bu JVM DEĞİL) yükleyin. JNI bu aracı kullanabilmek için köprü arasındaki sanal makine dünya ve dünyanın C, C , vb... tersi de doğru - mümkün değil (en azından bildiğim kadarıyla) aslında bir JVM çalışan kullanmadan JNI.

Temel olarak, java.exe bir süper basit C uygulama ayrıştırır komut satırı oluşturur yeni bir Dize dizideki JVM tutun bu tartışmalar, ayrıştırır sınıf adını belirttiğiniz gibi içeren ana(), JNI kullanır aramaları bulmak için main() yöntemini kendisi, sonra çağırır main() yöntemine ileterek yeni oluşturulan dize dizisi olarak bir parametre. Bu Java yansıma - sadece karışıklığa yol açacak yerel işlev çağrılarını adlı kullanır yerine kullanıldığında ne gibi çok çok fazla.

Sen java.exe kendi sürümü (kaynak yazılım ve programları ile dağıtılır) yazmak için tamamen yasal olacak, ve bir şey tamamen farklı. Aslında, Java tabanlı uygulamalar ile tam olarak yaptığımız şey.

Java uygulamalar her biri kendi başlatıcısı vardır. Biz öncelikle bunu alacağız yani bizim kendi simge ve işlem adı, ama söyleyecek başka durumlarda, biz bir şey yapmak istiyorum ayrıca normal main() diyebilir işler (örneğin, bir durum Biz yapıyoruz COM birlikte çalışabilirlik, ve biz aslında bir geçiş COM kolu main() yerine bir dize dizisi).

Yani, uzun ve kısa: bu yüzden uygun b c statik/. Bu yüzden adı 'ana' olduğu için olmuş olmalı ama bir şey, ve main() ne yaptılar eski günleri C (ve o gün, işlevin adınıolduönemli). Java.exe sen tam bir ana yöntem adı, sınıfı (java com.yerine belirtmek için izin olabilir bence myompany.Foo.someSpecialMain) - ama bu sadece onbeşinde zorlaştırıyor otomatik Algıla 'launchable' projesinde sınıflar.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bryan Smith

    Bryan Smith

    12 Mart 2006
  • Dave Wallace

    Dave Wallace

    27 Kasım 2007
  • David MeShow

    David MeShow

    10 EKİM 2006