Tam ad, tam yolu ile biridir ör .:
java.util.ArrayList list;
Bir niteliksiz adı geçen parçası vardır:
import java.util.*;
ArrayList list;
terimi çok alanları ve yöntemlere başvurabilirler.
Böylece, sınıfları içe aktarabilirseniz, neden nitelikli bir ad kullanmanız gerekir?
Farklı paketlerdeyken, aynı adı paylaşan iki sınıf kullanırken buna ihtiyacınız var. Klasik bir örnek gülünç adlı JDK dan sınıftır: tesadüfen uzanır
java.sql.Date
java.util.Date
Eğer benziyor kodu gerekir, böylece hem sınıfın örneklerine göndermeler ihtiyaç makul yaygındır:
public void process(java.util.Date fromDate) {
RowSet rows = <run query with fromDate as parameter>
while (rows.nsxt()) {
java.sql.Date date = rows.getDate(1);
// code that needs date
}
}
İki homonymous sınıfı kullanırsanız, en az bir nitelendirmeden kaçınmayacaksınız - birini içe aktarabilirsiniz, ancak içe aktarma her ikisi de bir belirsizlik oluşturur.
Bu mükemmel bir Yığın Taşması sorusu: Net bir yanıtla basit. Sadece cevabı başka bir yerde bulabildiğim için (bence), bir cevabı olmamalı. Yinelenen bir şey olup olmadığına bakmadım. – Thomas
@Thomas Çok kötü, sıfır araştırma çabası gösteriyor. Bu, bazı insanların reddetmesi için "güçlü" bir nedendir. – Tom
Seninleyim; Ancak, diğer yorumu (yukarıda işaret ettiğim yazıya karşı işaretlediğim) düz orta, yapıcı değildi ve SO'ya kötü bir cevap verdi. – Thomas