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

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

Автор: admin    Время: 2024-10-12 11:30
Название: Что значит protected?
Что значит protected?% ^/ J" X# X; H* v: ?
Когда переменная или метод класса объявлены с модификатором protected, это означает следующее:
$ d" d4 r; l, z/ l, F3 G
! l: H1 O  F9 J9 L
  m2 N7 ?4 \7 T) N( LРазличие между public, protected, private, и default (package-private):
Пример:
4 q1 @8 H2 U5 @
  1. public class Animal {
    5 \) Q9 I# p; ]: A) D3 I) P4 O
  2.     protected String name;/ ]6 V+ n* v* Y/ p, Q. r5 K. q% y
  3. + v/ G" B0 w% `
  4.     protected void eat() {
    % s# _( d: o$ i0 B9 n4 j
  5.         System.out.println("Animal is eating");1 M$ X# P' A9 f+ l. B7 s
  6.     }
    * }* ^; }4 v. F6 h
  7. }0 T  \% n  [7 ~* o" K/ `
  8. # F3 U7 L0 `- t2 g
  9. public class Dog extends Animal {
    9 u5 x! m6 S  {9 }( r! N9 K
  10.     public void bark() {: U. r1 a1 f7 P
  11.         System.out.println("Dog is barking");  D  I" K! K: K6 \
  12.     }
    % T$ ~( w' \8 {! l7 ?
  13. 3 v* w: R, G( d8 @" V3 D, V! i$ G* J
  14.     public void dogBehavior() {6 A6 u2 l0 j: I' j
  15.         // Доступ к protected полям и методам родительского класса$ D4 n6 E/ ~6 B3 g8 n- K1 d
  16.         name = "Buddy";      // доступ к полю name& Z) ~& _5 V$ [( b% N# R2 q( x
  17.         eat();               // вызов метода eat
    3 b& I. y$ l+ V4 B! S7 K5 U
  18.         bark();              // вызов метода bark# D3 t# S# m7 v8 l
  19.     }
    3 Q5 l3 r. w2 ]/ @
  20. }' z4 {0 D. a% ~+ T% R# [; o0 n
Скопировать код
В этом примере:7 m, X! Z6 W; o9 `
Основное преимущество protected:Модификатор protected предоставляет возможность наследникам работать с полями и методами родительского класса, сохраняя при этом некоторую степень инкапсуляции. То есть, другие классы не могут получить доступ к этим полям и методам, если они не находятся в том же пакете или не являются наследниками." B* _2 S! c2 \* ]  N" o# F
Надеюсь, это объяснение помогло!' s8 s6 J. d! x* N; x! I1 ^
7 l. H1 `; y5 t" o0 t( n

; q( z1 r4 A$ {: G
# A8 o* C% i, F: H
) _  g$ G/ s+ m$ h




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