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

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

Автор: admin    Время: 2024-10-12 11:30
Название: Что значит protected?
Что значит protected?
, S# q& X& |7 u# N  z* k2 I$ B! @Когда переменная или метод класса объявлены с модификатором protected, это означает следующее:, A9 Z3 a5 r2 W) Z. l! t3 i

: s3 G' D, X/ v. @' X/ ~" J& @( H6 J  y
Различие между public, protected, private, и default (package-private):
Пример:
0 p% {6 i8 l4 A! @! x8 t
  1. public class Animal {. \* w/ O, |5 \1 x1 Z9 w
  2.     protected String name;
    5 o+ r! L0 @% m& r2 M& A

  3. 2 T- ]7 G6 l3 G3 ^6 Z7 @
  4.     protected void eat() {
    4 k& H$ ^# c7 s2 a) Y- J
  5.         System.out.println("Animal is eating");
    # K% Y+ x& N: @5 A, d/ C
  6.     }
    , k' ~$ r/ F% D) }- D
  7. }
    5 X2 {! ^4 L- y

  8. ) u5 h( n' V  n1 R' z' W0 c
  9. public class Dog extends Animal {
    + e  e' L& @* s6 a, h* W" P9 ]
  10.     public void bark() {! r% A7 F: i' a9 y, y
  11.         System.out.println("Dog is barking");9 I5 u6 u9 l$ P1 g/ W4 @) K
  12.     }
    % Q" x, n6 W5 n( N* Y( V/ B

  13. * S9 Z+ @& n7 y5 G) r) K3 G& ]7 U
  14.     public void dogBehavior() {
    . D/ h8 B1 E' Q8 D3 ^1 p! I( E
  15.         // Доступ к protected полям и методам родительского класса5 Q: a. F9 U; P3 k5 L. N* j
  16.         name = "Buddy";      // доступ к полю name
    6 f1 e+ A* X! H( Z, e/ b- w" M
  17.         eat();               // вызов метода eat
    : n% v: K2 T2 e# ?3 Y. P
  18.         bark();              // вызов метода bark
    5 O; g' x' g5 ?% K8 V
  19.     }8 c& D$ P5 o6 `! V9 o, N/ X! Y) e
  20. }
      y: V2 M9 R" x$ [; M
Скопировать код
В этом примере:
% @  i" ~  m# z) iОсновное преимущество protected:Модификатор protected предоставляет возможность наследникам работать с полями и методами родительского класса, сохраняя при этом некоторую степень инкапсуляции. То есть, другие классы не могут получить доступ к этим полям и методам, если они не находятся в том же пакете или не являются наследниками.
7 F6 R6 \; r0 a" Q6 \0 m- [Надеюсь, это объяснение помогло!
9 b) [0 k& O) _0 d. R. S/ X0 P
! w4 q! E* x+ U6 I1 {, d) C4 H8 |0 }3 s" F* H
* T' D8 D0 j4 J# X- ~4 T8 E( s/ T

( S) D0 I" z* E. S. B) L; J




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