protected什么意思

现在我们已理解了继承的概念,protected这个关键字最后终于有了意义。在理想情况下,private成员随时都是“私有”的,任何人不得访问。但在实际应用中,经常想把某些东西深深地藏起来,但同时允许访问衍生类的成员。protected关键字可帮助我们做到这一点。它的意思是“它本身是私有的,但可由从这个类继承的任何东西或者同一个包内的其他任何东西访问”。也就是说,Java中的protected会成为进入“友好”状态。
我们采取的最好的做法是保持成员的private状态——无论如何都应保留对基 础的实施细节进行修改的权利。在这一前提下,可通过protected方法允许类的继承者进行受到控制的访问:
 

//: Orc.java
// The protected keyword
import java.util.*;

class Villain {
  private int i;
  protected int read() { return i; }
  protected void set(int ii) { i = ii; }
  public Villain(int ii) { i = ii; }
  public int value(int m) { return m*i; }
}

public class Orc extends Villain {
  private int j;
  public Orc(int jj) { super(jj); j = jj; }
  public void change(int x) { set(x); }
} ///:~

可以看到,change()拥有对set()的访问权限,因为它的属性是protected(受到保护的)。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索int
, private
, public
, protected
, 私有
, orc
成员
protected是什么意思、protected mbr 是什么、protected void是什么、protected、c protected,以便于您获取更多的相关知识。

时间: 2025-01-01 19:59:20

protected什么意思的相关文章

java 中protected modifier 使用总结

1. protected 访问控制符能被用于方法和成员变量.    2. 声明为protected的方法和成员变量能被同一个包里的所有类所访问,就像默认修饰符package一样.    3. 能被该类的子类所访问,子类可以和父类不在一个包中.    这样,当你想让一个类中的某个方法或成员变量在包中都可见,而且其子类也能访问(子类有可能和父类不在同一个包中)但又不想让所有类都可以访问该类时,就可以用protected修饰符.    可访问性:    public > protected > pa

.net 里面 protected private 的变量也可以访问

变量|访问 通过 原数据可以访问,我是访问后,才发现自己怎么都操作私有字段了呢 参考代码 public class L3Data : System.ComponentModel.Component {  private System.ComponentModel.Container components = null;        private  Page _page;  private  ArrayList LiteralList = new ArrayList();  public L3

简介php的public、private和protected访问修饰符

PHP中有三种访问修饰符,分别是: public(公共的.默认) protected(受保护的) private(私有的) public(公共的.默认)在PHP5中如果类没有指定成员的访问修饰符,默认就是public的访问权限 . protected(受保护的)被声明为protected的成员,只允许该类的子类进行访问. private(私有的 ) 被定义为private的成员,对于类内部所有成员都可见,没有访问限制.对类 外部不允许访问. 图解 查看本栏目更多精彩内容:http://www.b

java中的protected

protected(受到保护的)访问指示符要求大家提前有所认识.首先应注意这样一个事实:为继续学习本书一直到继承那一章之前的内容,并不一定需要先理解本小节的内容.但为了保持内容的完整,这儿仍然要对此进行简要说明,并提供相关的例子. protected关键字为我们引入了一种名为"继承"的概念,它以现有的类为基础,并在其中加入新的成员,同时不会对现有的类产生影响--我们将这种现有的类称为"基础类"或者"基本类"(Base Class).亦可改变那个类

谈谈Java中protected访问权限

来谈谈protected访问权限问题.看下面示例1: Test.java class MyObject {} public class Test { public static void main(String[] args) { MyObject obj = new MyObject(); obj.clone(); // Compile error. } } 此时出现上文提到的错误:The method clone from the type Object is not visiuable.

C++中的protected

" ... Mark Linton 顺便到我的办公室来了一下,提出了一个使人印象深刻的请求,要求提供第三个控制层次,以便能支持斯坦福大学正在开发的 Interviews 库中所使用的风格.我们一起揣测,创造出单词 protected 以表示类里的一些成员,..." "... Mark 是 Interviews 的主要设计师.他的有说服力的争辩是基于实际经验和来自真实代码的实例...." "...大约五年之后,Mark 在 Interviews 里禁止了 p

php面向对象public private protected 访问修饰符

本篇文章是对php面向对象public private protected 访问修饰符进行了详细的分析介绍,需要的朋友参考下   PHP中有三种访问修饰符,分别是: public(公共的.默认) protected(受保护的) private(私有的)public(公共的.默认)在PHP5中如果类没有指定成员的访问修饰符,默认就是public的访问权限. protected(受保护的)被声明为protected的成员,只允许该类的子类进行访问. private(私有的 ) 被定义为private

Swift中的访问控制和protected

  这篇文章主要介绍了Swift中的访问控制和protected,本文主要讲解为什么Swift没有类似protected的选项,需要的朋友可以参考下 原文再续,书折第一回. 很多其他编程语言都有一种"protected"设定,可以限制某些类方法只能被它的子类所使用. Swift支持了访问控制后,大家给我们的反馈都很不错.而有的开发者问我们:"为什么Swift没有类似protected的选项?" 当我们在设计Swift访问控制的不同等级时,我们认为有两种主要场景: ●

php class中public,private,protected的区别,以及实例

一,public,private,protected的区别 public:权限是最大的,可以内部调用,实例调用等. protected: 受保护类型,用于本类和继承类调用. private: 私有类型,只有在本类中使用. 二,实例 Java代码   <?php   error_reporting(E_ALL);      class test{    public $public;    private $private;    protected $protected;    static $