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

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

Автор: admin    Время: 2024-10-12 11:30
Название: Что значит protected?
Что значит protected?
+ n9 G2 T' y4 B% ^. QКогда переменная или метод класса объявлены с модификатором protected, это означает следующее:
  o) ~; L% m' ~+ h, Z
1 T* y# J$ u+ D% \* n  B
6 U7 k  l* c9 ^2 k$ wРазличие между public, protected, private, и default (package-private):
Пример:
8 e8 s6 t$ ?' M
  1. public class Animal {
    ' ~0 }7 ~0 [- w2 y4 x
  2.     protected String name;4 T+ N+ a* e( M: w) ]% @

  3. $ I7 d8 z1 T0 A  }
  4.     protected void eat() {1 l; {. s# u6 K6 `7 Q
  5.         System.out.println("Animal is eating");# s; R' j# I: \: ~2 L! f
  6.     }
    ! p& E7 \$ M3 v0 v5 s/ P
  7. }
    + a& i/ w# b/ U
  8. 4 _; r2 J" }+ d4 k1 \
  9. public class Dog extends Animal {
    $ S5 `' c$ f0 L2 y
  10.     public void bark() {2 w1 |$ C! {5 w
  11.         System.out.println("Dog is barking");
    ; E7 G4 W9 |3 d
  12.     }5 d/ y% g$ C# q7 ?' a: \
  13. 7 l1 ]+ J1 J8 i, }
  14.     public void dogBehavior() {  I! \8 R5 i- Y* a1 e* c! a
  15.         // Доступ к protected полям и методам родительского класса& l$ @8 f" Y8 t6 K9 |$ C3 y
  16.         name = "Buddy";      // доступ к полю name
    1 X$ H7 O# _( Y$ W# |6 \
  17.         eat();               // вызов метода eat
    % b" F2 E& F# E" K9 t
  18.         bark();              // вызов метода bark
    ; Y2 H, O- a$ Q- u/ n
  19.     }7 ^5 f6 A# \6 ]2 N6 G4 ^
  20. }
    1 g, _5 w  k. I% J4 v2 F6 G
Скопировать код
В этом примере:& G. K+ T9 R/ c. d
Основное преимущество protected:Модификатор protected предоставляет возможность наследникам работать с полями и методами родительского класса, сохраняя при этом некоторую степень инкапсуляции. То есть, другие классы не могут получить доступ к этим полям и методам, если они не находятся в том же пакете или не являются наследниками.
- e( {4 u* E: sНадеюсь, это объяснение помогло!1 Z% [; ?  j0 ^' W

! `& n  l+ B& h/ O: W$ U/ d! j# S. s' n) B$ ~: ]- X% e) S
; q2 u' _$ R9 F9 D( v$ A
$ Z/ g/ g) e8 J* C( Z$ |& M5 V





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