Dúvida com modificadores de acesso [ RESOLVIDO ]

4 respostas
brunorota

Olá

Estou com a seguinte dúvida

tenho uma classe

packpage a;

public class A{

      protected void teste(){}

}

packpage b;
import a.*;

public class B extends A{


    public void teste1(){
          
         teste(); //Aqui é vísivel porque o método é protected então ele herda de A
    }

    public static void main(String args[]){
          
           new A().teste(); // Porque essá linha não é visível se o método é marcado como protected
    }

}

Porque a diferença chamando por uma instancia de A e pela herança

VAlew

4 Respostas

D

o único modificar do qual você tem acesso ao utilizar um objeto fora do escopo da classe é public. Protected te garante o acesso aos métodos herdados, porém apenas dentro da classe.

evertonsilvagomesjav

brunorota:
Olá

Estou com a seguinte dúvida

tenho uma classe

packpage a;

public class A{

      protected void teste(){}

}

packpage b;
import a.*;

public class B extends A{


    public void teste1(){
          
         teste(); //Aqui é vísivel porque o método é protected então ele herda de A
    }

    public static void main(String args[]){
          
           new A().teste(); // Porque essá linha não é visível se o método é marcado como protected
    }

}

Porque a diferença chamando por uma instancia de A e pela herança

VAlew

E ai cara tranquilo? Entao quando o modificador de acesso for protected so é visivel por classes do mesmo pacote ou por herança de classes em pacotes de direntes. Quando vc tenta chama-lo por um objeto usando de TEM-UM vc nao consegue acessa-lo, somente com Herança.

D

Só para confirmar algo que eu ignorei e que o evertonsilvagomesjava comentou: Os métodos com acesso default ou proteceted estão disponíveis se forem chamados de fora da classe, desde que você esteja chamando o objeto de uma classe do mesmo pacote.

brunorota

Opaa

Valew ae galera

Entendii o esquema hehehe

Tirar as duvidas, porque dia 30 to indo lá fazer a prova uhauiha

Valew

Criado 22 de julho de 2010
Ultima resposta 22 de jul. de 2010
Respostas 4
Participantes 3