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

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

Автор: admin    Время: 2024-10-12 11:30
Название: Что значит protected?
Что значит protected?
/ Y2 i' R5 u6 D% n: A) H# I! EКогда переменная или метод класса объявлены с модификатором protected, это означает следующее:
& S* b; z8 S+ ?4 {; u$ i# |+ Z, k/ j, T$ d( D

3 @# Z0 w: J8 M( F9 ?' U9 g' yРазличие между public, protected, private, и default (package-private):
Пример:7 f/ R6 x7 ^3 D5 z
  1. public class Animal {
    ; }, Z; V( ~! E/ O1 C. X* i9 E
  2.     protected String name;$ w. o8 Z- ?0 O1 m
  3. - A% g* @) ~) r! @2 c5 {
  4.     protected void eat() {
    ( }, N9 Q. w! d2 V8 a
  5.         System.out.println("Animal is eating");2 H8 e2 f$ t) V/ L) U. R
  6.     }
    5 ]! j7 m1 v# j( U9 p" L, }/ o5 l7 h
  7. }
    7 C6 {1 `/ O' Q0 Y5 s5 j+ d; S7 I

  8. ( ?5 z; Y" q. @! Y% c; w
  9. public class Dog extends Animal {+ A3 T: Q, H0 U. B/ H& |
  10.     public void bark() {& z2 w1 Q9 }! p& r! l6 v$ k
  11.         System.out.println("Dog is barking");
    + j/ Z- O3 g* p9 E* |# p+ A$ g
  12.     }6 Q4 Q" }' A+ u9 H; z
  13. ) _# r4 k. A9 s4 |5 G6 u, p
  14.     public void dogBehavior() {- n3 s2 |% [$ {2 l9 B' k3 ?
  15.         // Доступ к protected полям и методам родительского класса' h- S- o. s2 ^4 J; _1 ~4 @
  16.         name = "Buddy";      // доступ к полю name; [0 ^& G4 f: c) l8 n8 ^1 i
  17.         eat();               // вызов метода eat
    * f5 l) R3 `/ t4 R
  18.         bark();              // вызов метода bark
    9 B3 y4 k: g3 ~0 e7 S% _. [
  19.     }
    & ]& m- p3 I% p8 k
  20. }% W6 ]4 n; i0 C+ g$ s3 }& y) D
Скопировать код
В этом примере:
2 z# n4 Y' D" oОсновное преимущество protected:Модификатор protected предоставляет возможность наследникам работать с полями и методами родительского класса, сохраняя при этом некоторую степень инкапсуляции. То есть, другие классы не могут получить доступ к этим полям и методам, если они не находятся в том же пакете или не являются наследниками.' f5 u6 A% U7 K
Надеюсь, это объяснение помогло!
- `* T0 {8 k( ]- |! H$ V8 s
$ G  H1 p: T7 I& i  w; [1 ^/ f' _8 ~; r3 J3 d
7 e4 a) y, z' i. k: h
. ]" v) s& z% J! ~' U3 B





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