我是靠谱客的博主 受伤大地,最近开发中收集的这篇文章主要介绍java中访问控制修饰符什么含义_关于Java中访问控制修饰符的来由及浅解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在Java中,制作者为我们提供了一种非常简洁方便地分类管理工作中需要用到的类的概念,就是“包”。既然有了这个包,那么我们编写的类就存在于这个定义好的包中了。由于需求的限制,大部分类都有相应的权限限制,即有些类中的属性或方法不能够直接为其他类所调用,那么相应的也就出现了“封装"的概念。

通俗的来讲,如果将一个包(可以认为就是一个计算机系统文件夹目录)package(创建包)起来比作一个钱包的话,那么这个包中所包含的​类就是钱包中的夹层。各个夹层中可能装有不同的东西,有些是可以让别人看到的,有些是指可以让家人看到的,有些是只有自己可以看到的,有些是默认某些人可见的。那么这些只有自己可以看到的就是“封装”了起来。相应的,上述四个状态分别是public,protected,private,缺省修饰符。

大致理解了修饰符所代表的意思,我们再来讨论一下各个修饰符所能达到的具体作用。

同一包中的类丨不同包中的类丨类内

所隶属的类

private属性和方法

不允许 ​

不允许

允许

被public

protected属性和方法

允许

不允许

允许

修饰符修饰

缺省的属性和方法

允许

不允许

允许

public属性和方法

允许​

允许

允许

​所隶属的类

private属性和方法

不允许

不允许

允许

被缺省

protected属性和方法

允许

不允许

允许

修饰符修饰

缺省的属性和方法

允许

不允许

允许

public属性和方法

允许​

不允许

允许

我们这里先来讨论被public修饰符修饰的类中的属性及方法的调用情况。很容易可以看出,private修饰的属性和方法只可由类内调用,这也就是为什么必须写一个setter和getter来赋值和调用了。那么就像上边说的,同一个包中的类就相当于家人,字面理解就是被保护了,可以给家人,但不可以给外人(包外调用)看。缺省默认为和protected权限一致。public方法和属性则可以被全部调用。​

那么缺省修饰符修饰的类中的属性及方法是怎么调用的呢?容易从表中发现,缺省修饰符修饰的类中public属性和方法也不可被包外类调用,即缺省修饰符对于类的修饰优先级大于对于属性方法的优先级(此处是笔者自己的定义,可能有争议),被缺省修饰符修饰的类中内容都不可被包外类调用,这与上一段中的缺省修饰符说明是一致的。

由于​笔者编写经历还十分缺少,此文仅作为大家探讨纠正之用,希望读者多提宝贵意见,纠正错误。

注:文中表格出自东软电子出版社

《Java语言程序设计教程》

--周绍斌主编,2012.8​​

最后

以上就是受伤大地为你收集整理的java中访问控制修饰符什么含义_关于Java中访问控制修饰符的来由及浅解的全部内容,希望文章能够帮你解决java中访问控制修饰符什么含义_关于Java中访问控制修饰符的来由及浅解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部