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

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

Автор: admin    Время: 2024-10-12 11:30
Название: Что значит protected?
Что значит protected?
' L0 R" e1 G% a/ gКогда переменная или метод класса объявлены с модификатором protected, это означает следующее:
4 |2 Z  K% q9 F+ E+ F  ^) H: i
3 @& n1 h% L7 \
+ @# c* w' f* \* o( @  NРазличие между public, protected, private, и default (package-private):
Пример:6 g6 a+ W, W" Y6 n2 g! W- A4 {
  1. public class Animal {
    ' ~5 r! o) v, X' C2 B
  2.     protected String name;7 c" o6 F, X. ^2 D8 @
  3. - a. a6 K. M+ g5 ?* E4 J
  4.     protected void eat() {1 [& z; ^4 q! ~( W; n, q
  5.         System.out.println("Animal is eating");
    4 d0 ^% b, ~5 r/ H- w
  6.     }
    8 ]  k# @  n( Z3 Z
  7. }/ E$ t- ^: Q  u  M5 I

  8. / |+ C; G( |* d+ x% S- ]
  9. public class Dog extends Animal {
    9 w4 ~9 |$ I; `1 ~7 I4 Q
  10.     public void bark() {, q/ H) t3 d' A3 H
  11.         System.out.println("Dog is barking");& c$ w0 k* }3 {9 ]" c; |
  12.     }% [! I* z; b5 Q
  13. 1 Y% B0 h) i* X* a6 P' y/ Z
  14.     public void dogBehavior() {! K' O" i/ D- M# d5 R
  15.         // Доступ к protected полям и методам родительского класса0 B8 P# U! |9 F3 \; H- x
  16.         name = "Buddy";      // доступ к полю name
    - z4 y" j6 w# _5 ^& h
  17.         eat();               // вызов метода eat3 s7 E# l( z0 x3 x
  18.         bark();              // вызов метода bark6 b* C; x! f$ S# I- v. R! t
  19.     }
    9 H% L- k/ X: x0 `# f  p
  20. }
    : B5 ~4 I* O1 r3 P5 q$ V1 b  k
Скопировать код
В этом примере:5 w, x5 K) |1 m( ^/ o
Основное преимущество protected:Модификатор protected предоставляет возможность наследникам работать с полями и методами родительского класса, сохраняя при этом некоторую степень инкапсуляции. То есть, другие классы не могут получить доступ к этим полям и методам, если они не находятся в том же пакете или не являются наследниками.
9 U) _7 Y' T+ ]Надеюсь, это объяснение помогло!
- h) t- a% b9 _$ }# L  g, ]/ Z
7 R  z( Z3 M$ C7 ~7 j# p9 x( o0 |5 `7 m; k3 [8 t; X* e$ ?
. t) q4 u6 C& B; C; |2 e* E9 ^

( F. u6 g5 V) V




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