作用域简介

Java中有四种定义作用域或者说访问权限的关键字,分别为public,protected,(default)以及private,作用域的级别和范围从高到低。

作用域 类内部 本包 子类 外部包
public
protected ×
(default) × ×
private × × ×

注意:Java的访问控制是停留在编译层的,也就是它不会在.class文件中留下任何的痕迹,只在编译的时候进行访问控制的检查。其实,通过反射的手段,是可以访问任何包下任何类中的成员,例如,访问类的私有成员也是可能的。

公共权限 public

public可以修饰类,数据成员,构造方法,方法成员。被public修饰的成员 ,可以在任何一个类中被调用,不管同包或不同包,是权限最大的一个修饰符。 它往往用于对外的情况,也就是对象或类对外的一种接口的形式。

受保护权限protected

protected可以修饰数据成员,构造方法,方法成员,不能修饰类(此处指外部类,不考虑内部类)。被protected修饰的成员,能在定义它们的类中,同包的类中被调用。如果有不同包的类想调用它们,那么这个类必须是定义它们的类的子类。

默认权限 (default)

类,数据成员,构造方法,方法成员,都能够使用默认权限,即不写任何关键字。默认权限即同包权限,同包权限的元素只能在定义它们的类中,以及同包的类中被调用。

私有权限 private

private可以修饰数据成员,构造方法,方法成员,不能修饰类(此处指外部类,不考虑内部类)。被private修饰的成员,只能在定义它们的类中使用,在其他类中不能调用。

使用注意

1.并不是每个关键字都可以修饰类(指外部类),只有public和default可 以。
2.所有关键字都可以修饰数据成员,方法成员,构造方法。
3.为了代码安全起见,关键字不要尽量使用权限大的,而是适用即可。比如 ,数据成员,如果没有特殊需要,尽可能用private。
4.关键字修饰的是“被访问”的权限。

结束语:本文仅用来学习记录,参考查阅。

Java访问权限作用域介绍相关推荐

  1. java权限控制是什么_论Java访问权限控制的重要性

    人在什么面前最容易失去抵抗力? 欢迎工作一到八年的Java工程师朋友们加入Java高级交流:854630135 本群提供免费的学习指导 架构资料 以及免费的解答 不懂得问题都可以在本群提出来 之后还会 ...

  2. Java访问权限之 protected详解

    摘要:     对于类的成员(包括成员变量和成员方法)而言,其能否被其他类所访问,取决于该成员的修饰词:而对于一个类而言,其能否被其他类所访问,也取决于该类的修饰词.在Java中,类成员访问权限修饰词 ...

  3. [THINKING IN JAVA]访问权限控制

    6 访问权限控制 6.1 包:库单元 package.import.import *.import static: 修改classpath环境变量可以将自己写的类库添加至环境变量并在任何java程序中 ...

  4. Java访问权限(public、protected、友好的、private)定义

    访问权限定义: 1.访问权限指:对象是否可以通过 " . " 运算符操作自己的变量 或 通过 " . " 运算符调用类中的方法: 2.访问权限修饰符:priva ...

  5. Java 访问权限 内部类总结

    在Java中,可以将一个类定义在另一个类里面或者一个方法里边,这样的类称为内部类,广泛意义上的内部类一般包括四种:成员内部类,局部内部类,匿名内部类,静态内部类 . 1.成员内部类 (1)该类像是外部 ...

  6. Java访问权限修饰符详解

    Java中的访问权限修饰符(Java关键字) 今天很皮的发现,自己现在竟然不会玩儿Java基础了,就翻看了一下自己的笔记,写一篇文章复习一下! 测试环境:Java运行环境,myEclipse. 测试前 ...

  7. JAVA访问权限控制[zhuan]

    Java的访问权限控制修饰符,从最大权限到最小权限依次是:public.protected.包访问权限(默认,没有关键字)和private.对于类的访问权限只能是:public和包访问权限(但内部类可 ...

  8. Java访问权限(详尽版)

    Java中的访问权限一共有四种:public .protected . 默认的 .private(访问范围由大到小): 先说public和private这两种,因为这两种最容易理解: public:在 ...

  9. Java访问权限控制

    面向对象的核心思想之一就是封装,只把有限的方法和成员公开给别人,这也是迪米特法则的内在要求,是外部调用方对方法体内的实现细节知道得尽可能少. 如何实现封装呢? 需要使用某些关键字来限制外部对类内属性和 ...

最新文章

  1. 解决mysql-5.5导入数据报错
  2. ISCW实验:配置Cisco IOS EASY ××× Server和Cisco ××× Client
  3. .NET业务实体类验证组件Fluent Validation
  4. 算法-----有序数组的平方
  5. 数据库建模模板、菜单显示出问题解决方案
  6. 【IT笔试面试题整理】给定二叉树,给每层生成一个链表
  7. angular 模块构建_我如何在Angular 4和Magento上构建人力资源门户
  8. [JAVA #183; 初级]:1.环境变量的配置
  9. 拓端tecdat|基于模型的聚类和R语言中的高斯混合模型
  10. 软件开发合同模板范本
  11. SharePoint2016 - How to create App Catalog site?
  12. 产品和技术解决方案_成功的产品负责人挑战技术解决方案
  13. vmware storage -2
  14. python汉明距离检索_【LeetCode 461】汉明距离(Python)
  15. 大连将在东京建设软件园
  16. 电影推荐:阿兰·图灵--一个伟大而又悲惨的天才
  17. C#,图像二值化(12)——基于谷底最小值的全局阈值算法(Valley-Minium Thresholding)与源代码
  18. 《Adobe Photoshop CS5中文版经典教程(全彩版)》—第2课2.7节使用海绵工具调整饱和度...
  19. java两个字符串 相隔天数,计算两个日期之间相隔天数
  20. 《程序员之禅》一一10.10 淡泊宁静

热门文章

  1. ISTP(CPCI)会议论文出版都经常有那些刊物?
  2. 推荐几款不错的企业站点,前端设计师寻求设计灵感!
  3. python机票_某哪儿机票JS解密(3)--python调用node产生正确的航线和pre
  4. 金山wps2017校招笔试(前端A卷)
  5. mysql备份之ZMR应用
  6. 量化交易策略 趋势跟踪
  7. 三维GIS空间模型综述
  8. Oracle 表空间清理
  9. geemap的详细安装步骤及环境配置
  10. java 各个中间件技术框架