Java protected keyword is an access modifier. Se voidaan jakaa muuttujiin, menetelmiin, rakentajiin ja sisempiin luokkiin.
Pistettä muistaa,
- suojattu yhteys muokkaaja on saatavilla pakkauksen sisällä. Siihen pääsee kuitenkin myös paketin ulkopuolelta, mutta vain perinnön kautta.
- emme voi määrittää suojattua ulkoluokkaa ja rajapintaa.
- Jos teet minkä tahansa rakentajan suojatuksi, et voi luoda kyseisen luokan instanssia paketin ulkopuolelta.,
- Jos olet pakottavia tahansa menetelmällä, yliohjatut menetelmä (eli ilmoitettu alaluokka) ei saa olla rajoittavampi.
- edellisen kohdan mukaan, jos annat suojatun menetelmän tai muuttujan, kyseinen menetelmä tai muuttuja voidaan siirtää alaluokkaan käyttäen vain julkista tai suojattua käyttöoikeusmuunnosta.
Esimerkkejä suojattu avainsanan
Esimerkki 1
katsotaanpa esimerkki määrittää, onko suojattu muuttuja on käytettävissä tai ei ulkopuolella paketti.,
tuloksena on:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: The field A.msg is not visible
Esimerkki 2:
katsotaanpa esimerkki määrittää, onko suojattu muuttuja on käytettävissä tai ei-ulkopuolella luokka ja pakkauksen sisällä.
tuloksena on:
Try to access the protected variable outside the class within the package
Esimerkki 3
katsotaanpa esimerkki määrittää, onko suojattu menetelmä on saatavilla tai ei ulkopuolella paketti.,
tuloksena on:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: The method msg() from the type A is not visible
Esimerkki 4
katsotaanpa esimerkki määrittää, onko suojattu menetelmä on saatavilla tai ei ulkopuolella paketti käyttäen perintö.
tuloksena on:
Try to access the protected method outside the package using inheritance
Esimerkki 5
katsotaanpa esimerkki määrittää, onko meillä määritä suojattu ulko-luokka.
tuloksena on:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Esimerkki 6
katsotaanpa esimerkki määrittämään, onko meidän luoda esimerkiksi suojattu rakentaja ulkopuolelta luokan.,
tuloksena on:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: The constructor A(String) is not visibles
Esimerkki 7
katsotaanpa esimerkki määrittää, onko suojattu menetelmä on ohittaa sub-class käyttäen protected access modifier.
tuloksena on:
Try to access the overridden method
Esimerkki 8
katsotaanpa esimerkki määrittää, onko suojattu menetelmä on ohittaa sub-class käyttäen yksityinen access modifier.,
tuloksena on:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: Cannot reduce the visibility of the inherited method from A
Esimerkki 9
katsotaanpa esimerkki määrittää, onko suojattu menetelmä on ohittaa sub-class käyttäen default access modifier.
tuloksena on:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: Cannot reduce the visibility of the inherited method from A
Esimerkki 10
katsotaanpa esimerkki määrittää, onko suojattu menetelmä on ohittaa sub-class käyttäen public access modifier.
tuloksena on:
Try to access the overridden method