java的默认访问权限_java类的访问权限
1.解析
Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符。
private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。
default:即不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中进行访问。
protect: 介于public 和 private 之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。
public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。
下面用表格的形式来展示四种访问权限之间的异同点,这样会更加形象。表格如下所示:
同一个类
同一个包
不同包的子类
不同包的非子类
Private
√
Default
√
√
Protected
√
√
√
Public
√
√
√
√
2.Protected
假设在包accesscontrol下面有AccessControlDemo和 Base 两个类,其中protected double price;是Base类的成员变量,因为两个类在同一个包中,所以在AccessControlDemo类中可以直接访问System.out.println(base.price);具体实例如下:
accesscontrol.AccessControlDemo
View Code
accesscontrol.Base
View Code
但是假如我们将AccessControlDemo这个类移到test这个包中,我们会发现eclipse中提示错误,编译无法通过,因为在test包中对protected类型的成员变量不可见。
假如我们在test包中创建一个Base类的子类Bulk,也就是说Bulk是Base类不同包的子类。那么在Bulk类中能够直接访问protected double price;这个基层自Base类的成员变量,实例如下:
test.AccessControlDemo
View Code
test.Bulk
View Code
java的默认访问权限_java类的访问权限相关推荐
- java 类成员访问权限_Java类成员访问权限控制知识总结
一 前言 这篇文章是很基础的一文,没多大深度,对于开发人员必然是熟练于心.本篇文章的主题是为什么java要设置类成员访问级别?其原因也很简单,就是为了面向对象的封装特性:将类成员使用不同的访问级别控制 ...
- Android PermissionUtils:运行时权限工具类及申请权限的正确姿势
Android PermissionUtils:运行时权限工具类及申请权限的正确姿势 ifadai 关注 2017.06.16 16:22* 字数 318 阅读 3637评论 1喜欢 6 Permis ...
- java的四种访问权限_Java四种访问权限
一.访问权限简介 访问权限控制: 指的是本类及本类内部的成员(成员变量.成员方法.内部类)对其他类的可见性,即这些内容是否允许其他类访问.Java 中一共有四种访问权限控制,其权限控制的大小情况是这样 ...
- java 对象访问权限_Java面向对象编程之访问控制权限
5. 访问控制权限 5.1 类型(4个)private public protected 默认权限 5.2 作用private : 私有的,只能类内部访问 public : 可以在任何位置访问,类内部 ...
- java override 访问权限_java基础之——访问修饰符(private/default/protected/public)
1. 访问修饰符介绍 java中的访问修饰符包含了四种:private.default(没有对应的保留字).protected和public.它们的含义如下:private:如果一个元素声明为priv ...
- java中类成员的限定词_Java类中的限定词
java语言中有四种不同的限定词,提供了四种不同的访问权限. 1) private 类中限定为private的成员,只能被这个类本身访问. 如果一个类的构造方法声明为private,则其它类不能生成该 ...
- java 获取文件权限_Java中的文件权限,检查权限和更改权限 - Break易站
Java提供了许多方法调用来检查和更改文件的权限,例如可以将只读文件更改为具有写入权限.当用户想要限制文件允许的操作时,需要更改文件权限.例如,文件权限可以从写入更改为只读,因为用户不再想要编辑文件. ...
- java的默认值规则_Java 8:默认方法解析规则
java的默认值规则 随着Java 8中默认方法的引入,一个类现在可以从多个位置(例如另一个类或接口)继承相同的方法. 在这种情况下,可以使用以下规则来确定选择哪种方法: 类或超类方法声明始终优先于默 ...
- java随机访问流_java 随机读写访问流及seek方法
package stream; import java.io.File; import java.io.FileNotFoundException; import java.io.IOExceptio ...
最新文章
- 1.磁盘的数据结构包括那些内容?
- 倒计时3天!华为畅想未来智能车大赛报名即将截止,已报名选手请提交参赛PPT!
- 芙蓉之约 , Serverless 技术实践营 3.25 成都站邀你来参加
- python django升级安装sqlite3后在python命令行还是显示旧版本的解决办法
- php 解释语言,php是解释型语言吗
- memset() 初始化类对象
- 1-1-Html技术
- oracle imp导入修改字符集,Oracle中IMP导入数据时提示字符集不一致解决
- node + ts读取csv文件为二维数组
- 智能问答系统方法综述
- [Micropython]TPYBoard开发板点亮心形8*8点阵
- 「镁客·请讲」云迹科技张名举:酒店是移动机器人最标准化的服务场景,将有更多服务岗位被机器人替代...
- 计算机怎么看c盘用户名,如何查看c盘的软件 如何查看电脑上安装在C盘的软件...
- 指针使用入门与 unsafe.Pointer
- web前端设计与开发期末作品/期末大作业【使用HTML制作汽车首页】
- 面试经验分享,论如何入职心仪的企业
- Python中文全攻略 中文乱码 输出中文乱码
- Google Chrome 试用感受
- 先学vba还是python-以Excel处理为目的学习python还是VBA?
- UEFI和Legacy是什么意思?