Java访问权限作用域介绍
作用域简介
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访问权限作用域介绍相关推荐
- java权限控制是什么_论Java访问权限控制的重要性
人在什么面前最容易失去抵抗力? 欢迎工作一到八年的Java工程师朋友们加入Java高级交流:854630135 本群提供免费的学习指导 架构资料 以及免费的解答 不懂得问题都可以在本群提出来 之后还会 ...
- Java访问权限之 protected详解
摘要: 对于类的成员(包括成员变量和成员方法)而言,其能否被其他类所访问,取决于该成员的修饰词:而对于一个类而言,其能否被其他类所访问,也取决于该类的修饰词.在Java中,类成员访问权限修饰词 ...
- [THINKING IN JAVA]访问权限控制
6 访问权限控制 6.1 包:库单元 package.import.import *.import static: 修改classpath环境变量可以将自己写的类库添加至环境变量并在任何java程序中 ...
- Java访问权限(public、protected、友好的、private)定义
访问权限定义: 1.访问权限指:对象是否可以通过 " . " 运算符操作自己的变量 或 通过 " . " 运算符调用类中的方法: 2.访问权限修饰符:priva ...
- Java 访问权限 内部类总结
在Java中,可以将一个类定义在另一个类里面或者一个方法里边,这样的类称为内部类,广泛意义上的内部类一般包括四种:成员内部类,局部内部类,匿名内部类,静态内部类 . 1.成员内部类 (1)该类像是外部 ...
- Java访问权限修饰符详解
Java中的访问权限修饰符(Java关键字) 今天很皮的发现,自己现在竟然不会玩儿Java基础了,就翻看了一下自己的笔记,写一篇文章复习一下! 测试环境:Java运行环境,myEclipse. 测试前 ...
- JAVA访问权限控制[zhuan]
Java的访问权限控制修饰符,从最大权限到最小权限依次是:public.protected.包访问权限(默认,没有关键字)和private.对于类的访问权限只能是:public和包访问权限(但内部类可 ...
- Java访问权限(详尽版)
Java中的访问权限一共有四种:public .protected . 默认的 .private(访问范围由大到小): 先说public和private这两种,因为这两种最容易理解: public:在 ...
- Java访问权限控制
面向对象的核心思想之一就是封装,只把有限的方法和成员公开给别人,这也是迪米特法则的内在要求,是外部调用方对方法体内的实现细节知道得尽可能少. 如何实现封装呢? 需要使用某些关键字来限制外部对类内属性和 ...
最新文章
- 解决mysql-5.5导入数据报错
- ISCW实验:配置Cisco IOS EASY ××× Server和Cisco ××× Client
- .NET业务实体类验证组件Fluent Validation
- 算法-----有序数组的平方
- 数据库建模模板、菜单显示出问题解决方案
- 【IT笔试面试题整理】给定二叉树,给每层生成一个链表
- angular 模块构建_我如何在Angular 4和Magento上构建人力资源门户
- [JAVA #183; 初级]:1.环境变量的配置
- 拓端tecdat|基于模型的聚类和R语言中的高斯混合模型
- 软件开发合同模板范本
- SharePoint2016 - How to create App Catalog site?
- 产品和技术解决方案_成功的产品负责人挑战技术解决方案
- vmware storage -2
- python汉明距离检索_【LeetCode 461】汉明距离(Python)
- 大连将在东京建设软件园
- 电影推荐:阿兰·图灵--一个伟大而又悲惨的天才
- C#,图像二值化(12)——基于谷底最小值的全局阈值算法(Valley-Minium Thresholding)与源代码
- 《Adobe Photoshop CS5中文版经典教程(全彩版)》—第2课2.7节使用海绵工具调整饱和度...
- java两个字符串 相隔天数,计算两个日期之间相隔天数
- 《程序员之禅》一一10.10 淡泊宁静