java的protect_java中protect是什么
protect是java中的权限关键字,一般是指定使用的范围。
protected:
父类的被protected修饰的类成员包内可见,并且对其子类可见。
父类与子类不在同一个包里,子类只可以访问从父类继承的protected成员,不能访问父类实例化的成员。
我们可以通过以下几个关于protected方法可见性的例子来进一步掌握protected关键字。在碰到涉及protected成员的调用时,首先要确定出该protected成员来自何方,其可见性范围是什么,然后就可以判断出当前用法是否可行了
例子://示例一
package p1;
public class Father1 {
protected void f() {} // 父类Father1中的protected方法
}
package p1;
public class Son1 extends Father1 {}
package p11;
public class Son11 extends Father1{}
package p1;
public class Test1 {
public static void main(String[] args) {
Son1 son1 = new Son1();
son1.f(); // Compile OK ----(1)
son1.clone(); // Compile Error ----(2)
Son11 son = new Son11();
son11.f(); // Compile OK ----(3)
son11.clone(); // Compile Error ----(4)
}
}
对于上面的示例,首先看(1)(3),其中的f()方法从类Father1继承而来,其可见性是包p1及其子类Son1和Son11,而由于调用f()方法的类Test1所在的包也是p1,因此(1)(3)处编译通过。其次看(2)(4),其中的clone()方法的可见性是java.lang包及其所有子类,对于语句“son1.clone();”和“son11.clone();”,二者的clone()在类Son1、Son11中是可见的,但对Test1是不可见的,因此(1)(3)处编译不通过。
总结
protected是最难理解的一种Java类成员访问权限修饰词。在编程中,碰到涉及protected的调用时,首先要确定出该protected成员来自何方,其可见性范围是什么,然后就正确无误的使用了。
java的protect_java中protect是什么相关推荐
- 关于java的public,private,protect,以及默认权限的理解
2019独角兽企业重金招聘Python工程师标准>>> 关于java的public,private,protect,以及默认权限的理解 1.private 只允许在本类中使用 方法或 ...
- java的public_java中public用法
一.Java访问权限饰词(access specifiers) Java有public.protect.friendly.private四种访问权限,并且这四访问权限的访问范围越来越小. 1. fri ...
- java从字符串中提取数字
1.做一下操作时会一般会用到提取数字操纵: a.列表中有翻页,当新添加的数据不是放在第一条或者最后一条时,需要翻页并循环找到对应的那条数据 b.当新添加的数据放在第一条或者最后一条时,则不需要翻页,只 ...
- JAVA Web项目中所出现错误及解决方式合集(不断更新中)
JAVA Web项目中所出现错误及解决方式合集 前言 一.几个或许会用到的软件下载官网 二.Eclipse的[preferences]下没有[sever]选项 三.Tomcat的安装路径找不到 四.T ...
- Java类Demo中存在_Java中的数据类型转换
先来看一个题: Java类Demo中存在方法func0.func1.func2.func3和func4,请问该方法中,哪些是不合法的定义?( ) public class Demo{ float fu ...
- Java数据结构一 —— Java Collections API中的表
1.Collection接口 位于java.util包中,以下是重要的部分. 1 public interface Collection<AnyType> extends Iterable ...
- Java之戳中痛点 - (4)i++ 和 ++i 探究原理
先看一个例子: package com.test;public class AutoIncrement {public static void main(String[] args) {int a=7 ...
- IDEA报错解决:Error:(33, 35) java: -source 7 中不支持 lambda 表达式 (请使用 -source 8 或更高版本以启用 lambda 表达式)
晚上在用IDEA的时候遇到了报错: Error:(33, 35) java: -source 7 中不支持 lambda 表达式(请使用 -source 8 或更高版本以启用 lambda 表达式) ...
- return true Java_[Java教程]js中return,return true,return false的用法及区别
[Java教程]js中return,return true,return false的用法及区别 0 2015-11-16 23:00:03 1.语法及返回方式 ①返回控制与函数结果 语法为:retu ...
最新文章
- Kubernetes-基于EFK进行统一的日志管理
- java平衡二叉树,最全Java知识总结
- GNU C和ANSI C的区别
- 直播预告 | 东南大学周张泉:基于知识图谱的推理技术
- 16小时31分12秒!2019天猫双11成交额超2135亿元,超越2018年全天成交额
- HTML5的离线存储有几种方式?
- 计算点到SVM超平面的距离
- dsp java_GitHub - GrayOxygen/JavaDsp: 数字信号处理(DSP)方面的Java封装,包含常用的一些处理方法,如滤波、信号变换等等。...
- APP 性能测试工具
- 在开发IE插件时,遇到的各种问题记录
- c语言编译九行菱形,C语言打印菱形
- [C++] 开灯问题(两个思路)
- 有一页式系统,其页表存放在内存中. (1)如果对内存的一次存取需要1.5微秒,问实现一次页面访问的存取时间是多少? (2)如果系统增加有快表,平均命中率为85%,.....
- 移动端h5页面软键盘弹出后 背景图片被顶上去
- 功能测试——抓包工具(fiddler)
- Ubuntu10.04下载Android-x86(froyo-x86)源代码步骤
- IntelliJ IDEA 如何实现代码展示自动换行
- C语言实现不带头结点的单链表逆置的三种方法
- 人不为己,天诛地灭:踢掉蹭网的人
- 用Java实现相机滤镜功能(一)