Burada kamusal, özel ve korunan yöntemlerden bahsettiğinizi sanıyorum?
Eğer öyleyse, güvenlik amacıyla mevcut değillerdir. Yazılımın düzgün bir şekilde modüle edildiğini garanti etmek için kolaylaştırmak amacıyla mevcutturlar. (Bu konuda başarılı olup olmadıkları, başkaları için bırakacağım bir tartışmadır. Ancak, ne için olduklarının vizyonudur.)
Bir kitaplık teslim ettiğimi varsayalım, daha sonra kitaplığın farklı bir sürümünü teslim etmek ve istediğim kadar özel olarak işaretlenmiş öğeleri değiştirmekte özgürüm. Bunun aksine, bu şeyleri özel olarak işaretlememiş olsaydım, yazılımımın herhangi bir iç kısmını değiştiremezdim, çünkü birisi bir yerlerde doğrudan ona erişiyordu. Elbette, teorik olarak belgelenmiş API'yi kullanmamak onların hatasıdır. Ancak istemci, yazılım güncellememin yazılımlarını kırdığını benim hatam olarak algılayacak. Mazeret istemiyorlar, düzeltilmesini istiyorlar. Ancak, başlangıçlarına erişmelerine izin vermezsem, API'm tam olarak API'm olmayı amaçladığım genel yöntemlerdir ve sorun önlenir.
Bahsetebileceğiniz en olası ikinci şey Java'nın güvenlik modelidir. Bunun hakkında konuşuyorsanız, var olmasının nedeni, Java için orijinal vizyonun, üçüncü taraf programların (örn. Tarayıcılar) etkileşimli olarak çalışması için muhtemelen güvenilmeyen uygulamalar gönderen kişileri içermesidir. Bu nedenle güvenlik modeli, kullanıcılara kötü amaçlı uygulamalara karşı biraz koruma sağlamak amacıyla hazırlanmıştır. Bu nedenle, endişelenecek ve korunacak güvenlik tehdidi, yüklenebilecek diğer yazılımlarla etkileşime girmeye çalışan güvenilmeyen uygulamalardır.