Java tutorial "Defining an Interface"'deJava öğreticisi paket özel bir arayüze sahip olabileceğimi söylüyor, ancak yapamıyorum
olduğunu belirtir. Arayüzün
public
olduğunu belirtmezseniz, arayüzünüz sadece arayüzle aynı pakette tanımlanan sınıflara erişebilir.
Ancak, bu
interface PPInterface {
void foo();
void bar();
}
class NewClass implements PPInterface {
void foo() {}
void bar() {}
}
NewClass
'da derleyici hataları oluşturur; çünkü daha zayıf erişim ayrıcalıkları atamaya çalışıyorum; halka açıktı. Yani belgeler yanlış mı, yanlış bir şey mi yaptım yoksa belgeleri yanlış yorumlu muyum?
Sanırım bir arayüz kullanmam gerekmiyor - hoşuma gidiyor çünkü iyi organize edilmiş şeyler.
Ugh, yine Java'nın 'interface' http: // stackoverflow' unun erişim kısıtlama sınırlamaları nedeniyle soyut sınıflar ile uğraşmak zorunda kaldık.com/questions/5376970/protected-in-interface/5377300 # 5377300 – Pacerier
"paketin dışında görünmeyen arabirim türü, yöntemler değil." Görünmez bir tipte kamu yöntemlerine nasıl erişebilirim? Hâlâ kamu yöntemlerinin amacının paket içinde ne olduğunu anlamıyorum - özel sınıf (veya arayüz ..). –
@KorayTugay: Arayüz yöntemleri, pratik bir etkiye sahip olsun ya da olmasın her zaman 'public''dir. Ancak, örneğin, bazı genel arabirimleri uygulayan veya bazı genel türlerini genişleten bir paket özel türünüz varsa, ortak sınıftaki yöntemleri geçersiz kılan bu sınıftaki/arabirimdeki "genel" yöntemleri paketin dışından kullanılabilir. – ColinD