Soru Java kurucuları varsayılan olarak herkese açık değil mi? [çift]


Bu sorunun zaten bir cevabı var:

İki farklı pakette iki sınıfım var. Bir sınıf için onun için bir düzen değiştirici belirlemeden bir kurucu tanımladım. Bu sınıfın bir nesnesini başka bir pakette örneklendirmek ve hatayı almak istiyorum.the constructor xxx() is not visible'.

Değiştirilen erişimi tanımladığım takdirde public bu iyi. Kurucular varsayılan olarak halka açık mıydı?


16
2018-01-12 12:43


Menşei


Sınıf kurucuları varsayılan olarak paket özeldir. Enum yapıcılar varsayılan olarak özeldir. - Boann


Cevaplar:


erişim belirteci yok! = public 

Hiçbir Değiştirici özel paket değildir. Kontrol doktor


19
2018-01-12 12:44



Cevap tamam ama bağlı doc varsayılan c'tors bahsetmiyor. - Bob Stine
@Bob gördün mü değiştirici yok ? - Jigar Joshi
Ancak arayüzlerde, tüm yöntemler kamuya açık olmasa bile kamuoyu - Shamal Sandeep


Hayır değiller. Varsayılan olarak paket görünürlüğü vardır.


13
2018-01-12 12:44





Erişim (err ...) varsayılan erişim varsayılan olarak. Ayrıca şöyle bilinir özel paket. Şunları düşünün: public varsayılan olarak, bir kurucunun olmadığını belirtin public ama aslında paket özel miydi? Bunu belirtmek için özel paketine karşılık gelen anahtar kelime yoktur.


8
2018-01-12 12:47





Erişim değiştirici yazmazsanız, varsayılan olarak ayarlanır, yani paket özeldir. Örneğin. Paket dışında hiçbir sınıf erişemez.


2
2018-01-12 12:45





Hayır. Varsayılan erişim belirticisine sahipler. yani paket görünürlüğü var.


1
2018-01-12 12:46





Başka hangi sınıfların yapıcıyı çağırabileceğini kontrol etmek için bir yapıcının bildiriminde erişim değiştiricilerini kullanabilirsiniz. Kurucuyu açıkça kamuya açık olarak bildirmezseniz, yalnızca bildirildiği yerde aynı pakette görünür olur (paket erişimi).


1
2018-01-12 12:46





Bir sınıfta, erişim düzenleyicisi olmayan tüm yöntem paket görünürlüğüne sahiptir. Ancak, arayüzlerde yöntemler her zaman kamu görünürlüğüne sahiptir.


1
2018-01-12 12:55