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

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

Автор: admin    Время: 2024-10-12 11:30
Название: Что значит protected?
Что значит protected?
* K) X- K& \% F7 p2 PКогда переменная или метод класса объявлены с модификатором protected, это означает следующее:
3 ?5 A: v- a" c8 i
2 l! ^7 b- H( p3 g3 O
  ^. V4 g( @( n! qРазличие между public, protected, private, и default (package-private):
Пример:; L9 v1 L/ z1 a
  1. public class Animal {
    . ?" M) B3 H4 W% m+ w
  2.     protected String name;, x0 D; C% u/ O  e* z
  3. 0 t: ?. T# y/ A  t5 l* s0 l9 Y/ o# K( h5 ^
  4.     protected void eat() {
    2 z: x/ F- U2 F+ z9 G. D  \
  5.         System.out.println("Animal is eating");! i! p* m5 h; O8 I
  6.     }
    ; g- q; u& N3 i
  7. }  l5 ^# G( ^1 s3 Z; A

  8. ( @& b# B3 l+ B" g
  9. public class Dog extends Animal {5 E( n- _9 u* I1 J
  10.     public void bark() {' ~. W3 X) G, x% I/ v  s8 c5 }
  11.         System.out.println("Dog is barking");
    0 ^6 [5 q9 I) x. a, ?
  12.     }
    5 C+ i2 t/ R$ c  ^, B" M# \' B& }

  13. ) v- x& E) H9 u! i* L
  14.     public void dogBehavior() {
    0 H5 u) {  S5 O
  15.         // Доступ к protected полям и методам родительского класса8 J( A7 D0 i( t* T
  16.         name = "Buddy";      // доступ к полю name/ E/ ^4 W2 ?* A& ~! ^
  17.         eat();               // вызов метода eat
    0 N/ y2 W2 n9 c6 c/ y" g' E* Y
  18.         bark();              // вызов метода bark
    - I  h6 i8 o$ V
  19.     }
    , x6 V( \: J. o
  20. }8 I. A0 G% Q% ]! H% X- w5 Y/ ]
Скопировать код
В этом примере:/ M1 h, q: o) L
Основное преимущество protected:Модификатор protected предоставляет возможность наследникам работать с полями и методами родительского класса, сохраняя при этом некоторую степень инкапсуляции. То есть, другие классы не могут получить доступ к этим полям и методам, если они не находятся в том же пакете или не являются наследниками.
" P: D' ^! k5 C' k( t* y+ ~  f7 aНадеюсь, это объяснение помогло!
- ~: u  I; o& u0 E5 ?  \+ B6 ]
; b2 F# I7 E" |. T7 y  G4 ~2 C, x! u: V

  F$ D$ j2 ]& u7 Z$ A: t  z/ f% q. a2 C
7 }+ _% z9 S' {$ _5 W0 G+ _




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