artace.ru - творческий сектор

Название: Что значит protected? [Версия для печати]

Автор: admin    Время: 2024-10-12 11:30
Название: Что значит protected?
Что значит protected?
8 q& }; |+ n0 k  x0 VКогда переменная или метод класса объявлены с модификатором protected, это означает следующее:
) m" b9 S3 V3 n, t* \0 \4 S" R7 r; N, O& h' D
6 I9 D7 }" @+ d! l: z1 W% d
Различие между public, protected, private, и default (package-private):
Пример:
7 r7 @4 Y) t( |3 n& i
  1. public class Animal {5 y" q4 y, J) L: ?# i
  2.     protected String name;
    9 _0 K4 y) o0 v4 V- ^, F' ]
  3.   Z' \; S- J- v2 I% _4 J+ j1 C3 S. ]
  4.     protected void eat() {
    % q4 x/ W/ n: D" p# b
  5.         System.out.println("Animal is eating");
    : z* F5 F) {. _  f7 n. f
  6.     }* O& i+ J* v" P& l8 q" z' b% T9 \
  7. }: H3 g* Y# r! t" P# B3 t

  8.   `; h: m2 \- R8 Y. T
  9. public class Dog extends Animal {
    * S, h2 S7 r2 B: @
  10.     public void bark() {
    1 L6 \1 p' Y, v! `" e& H  ]% |
  11.         System.out.println("Dog is barking");
    ' c* p% W/ {+ m# M0 P4 Z) |
  12.     }! C! y& k2 a/ |1 u1 B
  13. ( z4 |# g. C* Y  E0 c) @' a
  14.     public void dogBehavior() {
      o% V' o! L3 _: g1 P3 e
  15.         // Доступ к protected полям и методам родительского класса* v6 |5 ?* W! z" F
  16.         name = "Buddy";      // доступ к полю name
    * S; A) |9 T8 E2 I: b! e- B
  17.         eat();               // вызов метода eat  e! H! r( V! X( a1 `. Z
  18.         bark();              // вызов метода bark
    8 Y- J8 w% k) J& I8 T
  19.     }
    . D  _1 X; q* }, z0 D* Z. O6 S
  20. }: \  m/ ]& n. q4 m
Скопировать код
В этом примере:
+ V  l0 T* C! x5 F. r1 FОсновное преимущество protected:Модификатор protected предоставляет возможность наследникам работать с полями и методами родительского класса, сохраняя при этом некоторую степень инкапсуляции. То есть, другие классы не могут получить доступ к этим полям и методам, если они не находятся в том же пакете или не являются наследниками.& [, M: W0 R4 y  o6 e6 V
Надеюсь, это объяснение помогло!
& \# s  r' N# e' ~4 Y4 A4 r
$ R- V" Q; ?, I: \8 x8 c2 h/ [; |6 `. x5 k& i/ }" f
) |) W; ]* t* q# k% V

! `; K+ ^: A, K5 h$ q8 v# W




Добро пожаловать artace.ru - творческий сектор (https://artace.ru/) Powered by Discuz! X3.5