Назад к вопросам
Middle
72
questionbank

Какой модификатор доступа предоставляет доступ к членам класса в пределах одного пакета и его наследникам?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Модификатор доступа protected.

package com.example.package1;

public class ParentClass {
    protected int protectedField; // Доступен в пределах пакета и наследниках

    protected void protectedMethod() { // Доступен в пределах пакета и наследниках
        // ...
    }
}
package com.example.package1;

class SamePackageClass {
    void accessProtected() {
        ParentClass parent = new ParentClass();
        parent.protectedField = 10; // Доступ из того же пакета
        parent.protectedMethod();   // Доступ из того же пакета
    }
}
package com.example.package2;

import com.example.package1.ParentClass;

class ChildClass extends ParentClass {
    void accessProtected() {
        this.protectedField = 20; // Доступ из наследника в другом пакете
        this.protectedMethod();   // Доступ из наследника в другом пакете

        // ParentClass otherParent = new ParentClass();
        // otherParent.protectedField = 30; // Ошибка компиляции: доступ к protected членам через ссылку от родителя из другого пакета
    }
}