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

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

Автор: admin    Время: 2024-10-12 11:30
Название: Что значит protected?
Что значит protected?$ z* W2 M$ ?+ _$ J  y$ J) w. k
Когда переменная или метод класса объявлены с модификатором protected, это означает следующее:; Q  R7 H! B( X" F6 t0 R
/ O2 n3 F$ a# t1 L0 @2 A

( A. t7 t8 s" P3 H, V# Q2 LРазличие между public, protected, private, и default (package-private):
Пример:, f4 }% n# e! y0 W5 V: R
  1. public class Animal {
    ! _9 q  m4 O7 B, o& E6 ~& t
  2.     protected String name;
    - ]" v% Y' |: Q; \; q3 [

  3. 1 ^% ~) ]% V- Q( H+ I2 e& E
  4.     protected void eat() {* `4 Q# R* u/ e' ?  t! X
  5.         System.out.println("Animal is eating");
    ! d7 @6 Y9 B) B6 M/ i- v* `
  6.     }8 \$ K  E, F$ Q/ C. p9 L- q. p' v
  7. }) h+ H5 x8 L, m+ W2 x
  8. 9 L( G9 X( Y* L- A. F) i! O
  9. public class Dog extends Animal {, R9 Z& E+ h9 p7 u: O3 R" K3 B+ Y
  10.     public void bark() {
    3 N+ r' t1 v1 ]+ [6 `
  11.         System.out.println("Dog is barking");
    ( J8 F- E( R6 r- x2 u
  12.     }! V; p% _( v( P( D" w3 U
  13. ; s: }3 a4 Y) e1 ], S
  14.     public void dogBehavior() {, o- ~5 e: [' V* G" `6 d3 e7 ^2 U& J, C
  15.         // Доступ к protected полям и методам родительского класса8 x8 n7 q- D: d& R5 k5 a) c9 v
  16.         name = "Buddy";      // доступ к полю name, `- I7 p; _, I& X6 O/ D- f* Y
  17.         eat();               // вызов метода eat, @* ~* V# ^9 G0 }- [# G
  18.         bark();              // вызов метода bark' A6 B& P4 P$ S
  19.     }$ \! c3 S& c, x0 |/ |  Q8 s
  20. }
    - Y5 h) p/ @2 d8 e) n9 S" |
Скопировать код
В этом примере:
) T9 y7 g# L, G' _" P; IОсновное преимущество protected:Модификатор protected предоставляет возможность наследникам работать с полями и методами родительского класса, сохраняя при этом некоторую степень инкапсуляции. То есть, другие классы не могут получить доступ к этим полям и методам, если они не находятся в том же пакете или не являются наследниками.8 u  O6 q7 V0 `$ V7 I: f! y. W
Надеюсь, это объяснение помогло!
8 W) C0 F" r- d1 Z
8 }" {* i( q- c1 r  y2 B8 u
1 q& G6 Q  c* W  V0 T$ X  b7 Y5 `% y# z) r1 G

3 R* m  y0 d. e1 q: v




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