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

  • dhcrr's channel

    dhcrr's chan

    2 Ocak 2007
  • PUSHER

    PUSHER

    11 HAZİRAN 2014
  • xXGAMERrs_Xx

    xXGAMERrs_Xx

    31 Temmuz 2014