Pular para o conteúdo principal
Documentos
Palavras-chave JavaMatrizes JavaProgramação orientada a objetos em JavaManuseio de arquivos JavaIntrodução ao JavaNoções básicas da linguagem Java

palavra-chave protegida em Java

A palavra-chave protected em Java é um modificador de acesso usado para variáveis e métodos de membros. Ele fornece um nível de controle de acesso que permite o acesso dentro do mesmo pacote e por subclasses, mesmo que estejam em pacotes diferentes.

Uso

O modificador de acesso protected é usado para restringir o acesso aos membros de uma classe de modo que eles sejam acessíveis em seu próprio pacote e por subclasses. Isso é particularmente útil para criar uma estrutura de herança controlada.

Sintaxe

protected dataType variableName;
protected returnType methodName() {
    // method body
}
  • dataType: O tipo da variável.
  • variableName: O nome da variável.
  • returnType: O tipo de retorno do método.
  • methodName: O nome do método.

Exemplos

Exemplo 1: Variável protegida

package com.example;

public class Parent {
    protected int protectedVariable = 100;
}

package com.example;

public class Child extends Parent {
    public void display() {
        System.out.println("Protected Variable: " + protectedVariable);
    }
}

Neste exemplo, protectedVariable é declarado com a palavra-chave protected na classe Parent. A classe Child, que é uma subclasse de Parent, pode acessar protectedVariable e imprimir seu valor.

Exemplo 2: Método protegido

package com.example;

public class Parent {
    protected void protectedMethod() {
        System.out.println("This is a protected method.");
    }
}

package com.example;

public class Child extends Parent {
    public void callProtectedMethod() {
        protectedMethod();
    }
}

Aqui, protectedMethod é um método protegido na classe Parent. A classe Child pode chamar esse método porque é uma subclasse de Parent.

Exemplo 3: Acesso em um pacote diferente

package com.example.parent;

public class Parent {
    protected void protectedMethod() {
        System.out.println("Protected method in Parent class.");
    }
}

package com.example.child;

import com.example.parent.Parent;

public class Child extends Parent {
    public void callProtectedMethod() {
        protectedMethod();
    }
}

public class Test {
    public static void main(String[] args) {
        Child child = new Child();
        child.callProtectedMethod();
    }
}

Neste exemplo, a classe Parent está no pacote com.example.parent e a classe Child está no pacote com.example.child. A classe Child ainda pode acessar o protectedMethod da classe Parent porque é uma subclasse.

Dicas e práticas recomendadas

  • Herança controlada: Use protected para permitir que as subclasses acessem os membros e, ao mesmo tempo, mantê-los ocultos de outras classes em pacotes diferentes.
  • Acesso ao pacote: Lembre-se de que os membros do protected também podem ser acessados por outras classes do mesmo pacote.
  • Encapsulamento: Use o site protected para equilibrar o encapsulamento e a herança, expondo apenas os membros necessários às subclasses.
  • Evite a superexposição: Tenha cuidado para não exagerar no uso do protected, pois ele pode expor demais o funcionamento interno da classe para subclasses e outras classes do mesmo pacote.
  • Documentação: Documente claramente o uso pretendido dos membros protegidos para evitar o uso indevido ou o acesso não intencional.
  • Acesso por meio de instâncias de subclasses: Entenda que os membros protegidos podem ser acessados por meio de instâncias de subclasses, mesmo que a instância seja declarada em um pacote diferente.

Learn Java Essentials

Desenvolva suas habilidades em Java desde o início e domine os conceitos de programação.
Comece a aprender de graça