现在我们已理解了继承的概念,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(受到保护的)。

java protected_java语言中protected是什么意思相关推荐

  1. java 程序语言中的LinkedList 集合基本方法演示

    java 程序语言中的LinkedList 集合基本方法演示 import java.util.Iterator; import java.util.LinkedList;public class L ...

  2. java.substr_Java语言中substr和substring的区别

    Java语言中substr和substring的区别 由于在项目中有需要对字符串进行截取,然后手残使用了IDE自动提示的substr,没想那么多以为substr和substring没多大区别. 然而并 ...

  3. 笹山希 java,c语言中unsigned int

    C语言的unsigned int是什么意思? - 百度知道 最佳答案: C语言中unsigned int是无符号整数的意思. 无符号整型(unsigned int): (1)我们都知道整型是4个字节( ...

  4. Java编程语言中sleep()和yield()的区别

    转自:http://developer.51cto.com/art/201003/189465.htm 1. Thread.yield():      api中解释: 暂停当前正在执行的线程对象,并执 ...

  5. 网络编程+go+java,Go语言中的TCP/IP网络编程

    Go语言TCP/IP网络编程 乍一看,通过TCP/IP层连接两个进程会感觉可怕, 但是在Go语言中可能比你想象的要简单的多. TCP/IP层发送数据的应用场景 当然很多情况下,不是大多数情况下,使用更 ...

  6. Java 语言中 Enum 类型的使用介绍

    Enum 类型的介绍 枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中.而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常 ...

  7. Java中的enum详细解析------Java 语言中 Enum 类型的使用介绍

    Enum 类型的介绍 枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中.而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常 ...

  8. java 英文字符 字节_3、在JAVA语言中,每个英文字符占 个字节,每个中文汉字占( )个字节。...

    [判断题]中心原子中的几个原子轨道杂化时,必形成数目相同的杂化轨道. [单选题]集合 用区间表示正确的是 ( ) [单选题]15.Java语言的类间的继承关系是 [单选题]8.编译Java Appli ...

  9. 浅谈Java语言中ArrayList和HashSet的区别

    Java语言中ArrayList和HashSet的区别 2019-04-10   13:22:49 一.基本区别 首先一起看个实例,其代码如下: package com.MrZ_baby.com; i ...

最新文章

  1. 笔记本上的小键盘计算机怎样用,笔记本小键盘怎么开,详细教您笔记本小键盘怎么开启...
  2. 归并排序 java实现_归并排序的java实现
  3. 网络资源(4) - extJS视频
  4. 关于实验中的makefile相关知识
  5. 整数划分问题(路径输出)【递归求解方式】
  6. inotify加rsync备份mysql_centos7 实现inotify-tools + rsync,自动备份mysql数据库
  7. 借助 Subversion 进行版本控制
  8. 5选项卡(封装插件版)加事件委托版选项卡
  9. 大数据时代,还不认识这些数据分析工具?
  10. centos7 转换为lvm_(建议收藏)CentOS7挂载未分配的磁盘空间以及LVM详细介绍
  11. Google Cloud Platform中没有Active Directory域的可用性组
  12. python json文件遍历所有key、value 及替换key对于的value
  13. Couch的MapReduce查询
  14. 如何用PS(photoshop)给照片加文字
  15. MATLAB积分函数integral()的使用方法
  16. 如何用Sonic云真机打王者
  17. XP下架设奇迹教程+全套服务套+登陆器+架设PL网站教程
  18. 从卷积神经网络(CNN)到图卷积神经网络(GCN)详解
  19. SwiftUI嵌入Stack样式导航视图(NavigationView)中List显示怪异的解决
  20. 一种可扩展的同时进化实例和特征选择方法

热门文章

  1. 家乐福中国:曾经的零售之王走上资本运作之路
  2. 有控制雷电武器的java游戏_雷电飞机射击游戏 JAVA
  3. Maven的settings.xml配置详解
  4. 机器人抓取 三维重建机器人抓取 三维物体匹配
  5. 数藏拐点已至,未来行业破局靠什么?
  6. 基于Android的股票交易软件,基于android的股票交易系统的融资融券交易子系统的设计与实现-软件工程专业论文.docx...
  7. 百度地图获取本地搜索(LocalSearch)全部结果并显示标注
  8. 【arXiv2022】GroupTransNet: Group Transformer Network for RGB-D Salient Object Detection
  9. HTML5期末大作业:电商购物网站设计——红色的服装商城B2C网站(40页) HTML+CSS+JavaScript 电商购物功能齐全 dw网页设计 大学生商城购物网站
  10. 店宝宝谈男士护肤美妆:千亿风口,巨头争锋