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
İ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.
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
Neden iç sınıf özel final yöntemi geçe...
'Eclipse içine bir proje aldıktan...
Neden önemli GetHashCode yöntem geçers...
Neden't statik Java yöntemleri ge...
Maymun bir yöntem yama, yeni uygulama ...