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

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

Автор: admin    Время: 2024-10-12 11:30
Название: Что значит protected?
Что значит protected?
# `4 f/ D; B, _( c/ r  H% X; LКогда переменная или метод класса объявлены с модификатором protected, это означает следующее:0 k* g( Z  Y( d, d' S& d9 L

8 E/ x) M4 i$ \5 I6 |5 f" y+ y# I/ L0 u& }: t
Различие между public, protected, private, и default (package-private):
Пример:: A1 d" T) ]4 ~" x3 `# S9 w
  1. public class Animal {
    8 g5 S* ?. q5 |- S$ C& z8 v. D' u
  2.     protected String name;
    8 \0 e( z- r- O; D  Y5 M
  3. 0 q; Q! D: @" J/ k3 J7 s
  4.     protected void eat() {
    . ?. |3 w# D* U4 L6 T; e/ v; a
  5.         System.out.println("Animal is eating");5 w0 c8 U* j. ?% A
  6.     }" ?' m& R0 ?- @
  7. }
    ( q( a" W) k8 E. @8 i0 g. `5 I) Z$ }

  8. " T. S& N, F7 l* H+ S; r0 C, s
  9. public class Dog extends Animal {. U: O5 D7 b/ J* `) o. e% }7 O; Z
  10.     public void bark() {  G) i- o( ~# B; w9 P# {& c
  11.         System.out.println("Dog is barking");
    $ u( r3 y& F* N' k% g2 I7 h
  12.     }
    ' v. {$ `  @% ?* M6 V0 f
  13. 2 R4 \6 S/ ]; a% l) p. Y( D
  14.     public void dogBehavior() {6 B6 K% j8 c1 l0 H
  15.         // Доступ к protected полям и методам родительского класса8 e7 A+ w; E7 ~- t* `+ p
  16.         name = "Buddy";      // доступ к полю name/ E6 H9 Q. s- H" ~
  17.         eat();               // вызов метода eat( m7 F4 ?4 w1 n4 d
  18.         bark();              // вызов метода bark/ h' d3 @* |/ v/ h* z% |5 z: s
  19.     }
    - p0 z: u( z6 z+ L4 \% X2 x6 K
  20. }
    : p2 t8 k- u2 D  R5 F: V# ^
Скопировать код
В этом примере:
9 |8 W" y# o" ?0 NОсновное преимущество protected:Модификатор protected предоставляет возможность наследникам работать с полями и методами родительского класса, сохраняя при этом некоторую степень инкапсуляции. То есть, другие классы не могут получить доступ к этим полям и методам, если они не находятся в том же пакете или не являются наследниками.; e* R: _: O6 E4 J( p$ r6 `
Надеюсь, это объяснение помогло!! C* j; ~) `8 O# G! T" ^! X

- \- F$ v  t5 E6 V4 h  G0 `. R! E- n/ B4 C, |- n; W$ G% X
) B% N! T5 L+ e- _) y/ J
& j/ b1 p- G7 V5 ]7 n0 `3 L





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