SORU
17 EKİM 2011, PAZARTESİ


Neden't ben açıkça bir yöntemi geçersiz geri dönebilir mi?

void run() {
    ...
    if (done) return cancel();
    ...
}

3 ** void dönüş. Bu derleme olmayacak... ve benneredeyseneden anlamak. Ama eğer bir boşluktan bir boşluğa geri dönmek istiyorum, neden olmasın? Bunun yerine, böyle bir şey yazarken buluyorum:

if (done) {
    cancel();
    return;
}

Kod stil önerileri aramıyorum, açıkça void dönüş bu tür yasaklar neden bilmek istiyorum. Herhangi bir bilgi, teşekkürler.

CEVAP
17 EKİM 2011, PAZARTESİ


İlginç bir soru. Java dönüş türü (void dönüş türü) zorlar bu yana ilk açıklaman mantıklı gibi görünüyor. Sözleşme, sadece bunu kabul ederdim. void yer tutucu ve bir nesne değil bu yana, muhtemelen dil tutarlılık ya da derleyici basitlik için ayrılmaya karar verdi.

JLS

Bir return deyimi ile İfade bulunmalıdır vücudun bir yöntem olduğunu ilan etti, kullanarak anahtar geçersiz, bir daha dönmemek üzere herhangi bir değer (madde 8.4), ya da vücudun bir kurucu (§8.8).

daha fazla

Net olmak gerekirse, ifadesiz bir dönüş ifadesi her zaman aniden, nedeni değer bir dönüş olmak tamamlar

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • EmperorTigerstar

    EmperorTiger

    14 EYLÜL 2009
  • Shameless Maya

    Shameless Ma

    24 Mayıs 2012
  • superemposed

    superemposed

    25 Aralık 2007