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类的访问权限相关推荐

  1. java 类成员访问权限_Java类成员访问权限控制知识总结

    一 前言 这篇文章是很基础的一文,没多大深度,对于开发人员必然是熟练于心.本篇文章的主题是为什么java要设置类成员访问级别?其原因也很简单,就是为了面向对象的封装特性:将类成员使用不同的访问级别控制 ...

  2. Android PermissionUtils:运行时权限工具类及申请权限的正确姿势

    Android PermissionUtils:运行时权限工具类及申请权限的正确姿势 ifadai 关注 2017.06.16 16:22* 字数 318 阅读 3637评论 1喜欢 6 Permis ...

  3. java的四种访问权限_Java四种访问权限

    一.访问权限简介 访问权限控制: 指的是本类及本类内部的成员(成员变量.成员方法.内部类)对其他类的可见性,即这些内容是否允许其他类访问.Java 中一共有四种访问权限控制,其权限控制的大小情况是这样 ...

  4. java 对象访问权限_Java面向对象编程之访问控制权限

    5. 访问控制权限 5.1 类型(4个)private public protected 默认权限 5.2 作用private : 私有的,只能类内部访问 public : 可以在任何位置访问,类内部 ...

  5. java override 访问权限_java基础之——访问修饰符(private/default/protected/public)

    1. 访问修饰符介绍 java中的访问修饰符包含了四种:private.default(没有对应的保留字).protected和public.它们的含义如下:private:如果一个元素声明为priv ...

  6. java中类成员的限定词_Java类中的限定词

    java语言中有四种不同的限定词,提供了四种不同的访问权限. 1) private 类中限定为private的成员,只能被这个类本身访问. 如果一个类的构造方法声明为private,则其它类不能生成该 ...

  7. java 获取文件权限_Java中的文件权限,检查权限和更改权限 - Break易站

    Java提供了许多方法调用来检查和更改文件的权限,例如可以将只读文件更改为具有写入权限.当用户想要限制文件允许的操作时,需要更改文件权限.例如,文件权限可以从写入更改为只读,因为用户不再想要编辑文件. ...

  8. java的默认值规则_Java 8:默认方法解析规则

    java的默认值规则 随着Java 8中默认方法的引入,一个类现在可以从多个位置(例如另一个类或接口)继承相同的方法. 在这种情况下,可以使用以下规则来确定选择哪种方法: 类或超类方法声明始终优先于默 ...

  9. java随机访问流_java 随机读写访问流及seek方法

    package stream; import java.io.File; import java.io.FileNotFoundException; import java.io.IOExceptio ...

最新文章

  1. 1.磁盘的数据结构包括那些内容?
  2. 倒计时3天!华为畅想未来智能车大赛报名即将截止,已报名选手请提交参赛PPT!
  3. 芙蓉之约 , Serverless 技术实践营 3.25 成都站邀你来参加
  4. python django升级安装sqlite3后在python命令行还是显示旧版本的解决办法
  5. php 解释语言,php是解释型语言吗
  6. memset() 初始化类对象
  7. 1-1-Html技术
  8. oracle imp导入修改字符集,Oracle中IMP导入数据时提示字符集不一致解决
  9. node + ts读取csv文件为二维数组
  10. 智能问答系统方法综述
  11. [Micropython]TPYBoard开发板点亮心形8*8点阵
  12. 「镁客·请讲」云迹科技张名举:酒店是移动机器人最标准化的服务场景,将有更多服务岗位被机器人替代...
  13. 计算机怎么看c盘用户名,如何查看c盘的软件 如何查看电脑上安装在C盘的软件...
  14. 指针使用入门与 unsafe.Pointer
  15. web前端设计与开发期末作品/期末大作业【使用HTML制作汽车首页】
  16. 面试经验分享,论如何入职心仪的企业
  17. Python中文全攻略 中文乱码 输出中文乱码
  18. Google Chrome 试用感受
  19. 先学vba还是python-以Excel处理为目的学习python还是VBA?
  20. UEFI和Legacy是什么意思?

热门文章

  1. 使用signature在移动端做电子签名canvas画板随触摸滚屏的bug
  2. UINO优锘ThingJS-X让数字孪生技术零门槛入门
  3. 一篇挺有意思的文章(转自CSDN)
  4. mysql语句大小写要求_mysql踩坑(一)-大小写规则
  5. c语言输入10个数从小,C语言中,从键盘输入10个数,从小到大排列输出,怎
  6. html布局属性,hTML之FLEX布局属性
  7. MATLAB运行edge函数闪退
  8. 连日来卖报纸嘅一d感想,
  9. 2021多益网络春季校园招聘游戏研发笔试题(回忆版)
  10. windows基本命令