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

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

Автор: admin    Время: 2024-10-12 11:30
Название: Что значит protected?
Что значит protected?
. B4 M$ l; C: R0 X% nКогда переменная или метод класса объявлены с модификатором protected, это означает следующее:2 o3 [' t" m  [2 S. ?$ A: |

* T; \2 w# }- _
& ?' T% n% i: H9 |5 CРазличие между public, protected, private, и default (package-private):
Пример:0 g9 s/ I$ _* u* C* ^; `/ Q7 D  w. W
  1. public class Animal {8 T0 ^7 A$ f2 a3 i* ~& p7 v
  2.     protected String name;
    # n9 s* U! y, @. L* }
  3. 2 _) V- P# `8 b
  4.     protected void eat() {
    3 d; V5 \4 _% S( Q& n
  5.         System.out.println("Animal is eating");( L1 k+ E& I3 g' o& }$ L( w
  6.     }  K8 c7 g1 f& v: o
  7. }
    ! h. v5 ]7 p# V% o& s

  8. ; Z* M* j7 q5 R& o6 y5 ^
  9. public class Dog extends Animal {
    - @2 w! k, X2 |
  10.     public void bark() {' H/ R% Q% H0 Q9 c# ^2 k; \2 H* L6 \
  11.         System.out.println("Dog is barking");
      n. [8 |! a6 I: U
  12.     }% S9 y/ p/ A, Y7 {" j

  13. 0 v! q5 n  c9 g* B/ {
  14.     public void dogBehavior() {( S6 Q- A5 R, f* I. S0 g& F
  15.         // Доступ к protected полям и методам родительского класса( T/ q0 ?1 e- C3 a" c) P% i
  16.         name = "Buddy";      // доступ к полю name% n5 o/ ^+ \" ]  a
  17.         eat();               // вызов метода eat/ D* V% ?; t+ W0 g
  18.         bark();              // вызов метода bark+ k7 }( H4 c: `# B& K6 ^
  19.     }
    - d0 e- _+ H- V& [
  20. }& v% f" ~# U# i
Скопировать код
В этом примере:2 q  U/ Z  y* g
Основное преимущество protected:Модификатор protected предоставляет возможность наследникам работать с полями и методами родительского класса, сохраняя при этом некоторую степень инкапсуляции. То есть, другие классы не могут получить доступ к этим полям и методам, если они не находятся в том же пакете или не являются наследниками.
) n% @  y  H  y! ]$ N& }  o% _, [Надеюсь, это объяснение помогло!8 r0 G% I+ u$ k, J+ U
# z4 |7 B4 o; w% _
# u( L: V: T" ~# K4 c
# \) {, j( p: Y7 U0 C0 A5 W0 x6 p

- D4 D# a) U4 _  `# ^3 Y5 O; ~




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