详解java访问修饰符

为了防止初学者看到因为专业的术语而感觉晦涩难懂,我接下来尽量用生动比喻的说法来解释!
首先第一点,我们来讲讲什么叫修饰符!看看这个名称,想想他的意思。修饰符!修饰符!,就是用来修饰的一种符号!就好比说:一个美丽的女孩。这里美丽的是用来修饰女孩的,来说明这个女孩的特点!一把锋利的小刀,锋利的是来说明刀的特点的。所以java中的修饰符和上面是同一个道理,是用来说明java中的类,方法,和属性特点的一种符号!

1.访问修饰符

上面说了,修饰符是用来说明java中的类,方法,和属性特点的一种符号!访问修饰符的含义就是专门用来控制自身被其他类或者方法访问的一种权限的修饰符。

举个例子:
比如说大熊猫,大熊猫是中国的国宝,那么外国人就不能拥有它,现在变成说大熊猫是湖南的省宝(暂且这么说),那么除了湖南以外的省都不能拥有它,当然其他国家也不能拥有它。现在再说大熊猫是长沙的市宝,那么除了长沙市,谁也不能拥有它,包括其他市,其他省,其他国家!!!

在java中是一个道理,有四个访问修饰符,public,protect, default ,private。

我们以权限范围从小到大的顺序说起
我会以上面的市,省,国家来做例子

private :用private修饰的类、类属变量及方法,只有本类可以访问,而包内包外的任何类均不能访问它。
用上面的例子来说,private修饰的大熊猫就属于一个市,只有这个市里面的人才能看到大熊猫,这个省里里的其他市,其他的省,其他的国家都是看不到大熊猫的

default:用default修饰的类、类属变量及方法,只有本包中的类和本类可以访问,而其他的包和其他包中的类均不能访问它。

就相当于,default修饰的大熊猫就属于一个省,省里的市都可以看到大熊猫。

protect:用protected修饰的类、类属变量及方法,包内的任何类及包外那些继承了该类的子类才能访问,

这个比较特殊,这样解释:protected修饰的大熊猫也是相当于一个省,省里的市都可以看到这个大熊猫,但是省外的市也可以看到大熊猫,但是省外的市要看这个大熊猫,

要有一个条件,这个条件是:省外的市要和拥有大熊猫的市有一个关系,这个关系是:省外的市,要属于拥有大熊猫的这个市(可能不太好解释,我的意思是,你们先不要拘泥与现实社会这个大框架中,就想着省外的那个市是属于拥有大熊猫的市的,只不过位置不在这个省里,而在外省而已),在这种情况下,省外的市也可以看到大熊猫

public:用public修饰的类、类属变量及方法,包内及包外的任何类(包括子类和普通类)均可以访问;这个好解释,大熊猫是属于全世界的,不管你是谁,都可以看到这个大熊猫!

第二次写博客,比喻的不太恰当,望谅解!

一定要看的干货

详解java访问修饰符的更多相关文章

  1. java访问修饰符

    了解面向对象思想的同学们,都知道"封装"这一基本特征,如何正确运用访问修饰符,恰恰能体现出封装的好坏. java访问修饰符有四个: 1)public:访问权限最高,其修饰的类.类变 ...

  2. C#和JAVA 访问修饰符

    JAVA ----------------------------------------------- 访问修饰符        描述 ------------------------------- ...

  3. Java 访问修饰符详解

    访问修饰符定义了类.属性和方法的访问权限,Java 中包含四种,访问权限从小到大为 private.default.protected 和 public. public,公共修饰符,被其修饰的类.属性 ...

  4. Java访问修饰符(访问控制符)

    Java 通过修饰符来控制类.属性和方法的访问权限和其他功能,通常放在语句的最前端.例如: public class className { // body of class } private bo ...

  5. Java访问修饰符及其访问控制

    java中的访问修饰符,可以看成是人的秘密分享级别.private 个人秘密 ,protected 家族秘密,default(不写修饰符)社区(邻居)秘密(在一个包下的能访问),public 社会秘密 ...

  6. C#和Java访问修饰符的比较

    访问修饰符对于C#:类 的默认修饰符是 internal(外部类只能被public / internal 修饰)枚举 的默认修饰符是 public 且此类型不允许其它访问修饰符接口 的默认修饰符是 i ...

  7. Java 访问修饰符总结

    Java中的访问修饰符 Java面向对象的基本思想之一是封装细节并且公开接口. Java语言采用访问控制修饰符来封装类及类的方法和属性的访问权限,从而向使用者暴露接口.隐藏细节. Java访问控制分为 ...

  8. 《Java基础知识》Java访问修饰符(访问控制符)

    Java 通过修饰符来控制类.属性和方法的访问权限和其他功能,通常放在语句的最前端.例如: public class className { // body of class } private bo ...

  9. Java访问修饰符和三大特征(封装,继承和多态)

    一.访问修饰符基本介绍: java提供四种访问控制修饰符号,用于控制方法和属性(成员变量)的访问权限(范围): 1.公开级别:用public修饰,对外公开2.受保护级别:用protected修饰,对子 ...

随机推荐

  1. Javaweb编程

    首先是题目要求: 1登录账号:要求由6到12位字母.数字.下划线组成,只有字母可以开头:(1分) 2登录密码:要求显示“• ”或“*”表示输入位数,密码要求八位以上字母.数字组成.(1分) 3性别:要 ...

  2. VS配置C++依赖包

    处理好三个东西 1.头文件,Configuration Properties → VC++ Directories → Include Directories 2.静态库,Configuration ...

  3. python-参考书

    真的是找了很多的参考书,但是看懂,上手用的就一本比较好的<编程小白的第1本python入门书>非常的好. 属于那种一看就懂,能说明白的.别的,要么就是翻译的外文的,有点难以理解,要么就是中 ...

  4. File判断功能(新手)

    //导入的一个类.import java.io.File;/* File判断功能*///创建的一个类.public class zylx3 { //公共静态的主方法. public static vo ...

  5. java -封装一个类。(姓名、年龄、性别)

    //定义一个类. public class Maopao1{ //创建私有的对象. private String name; private int age; private String sex; ...

  6. NIO的原理和文件读入读出及图片拷贝的使用

    1.NIO的简介        java.nio 全称 java non-blocking IO 是jdk1.4之后出现的 New IO        为所有的原始类型(boolean除外)提供了缓存 ...

  7. sweep line-The Skyline Problem

    2020-01-10 17:51:05 问题描述: 问题求解: 本题是经典的sweep line问题. 对于sweep line问题我们需要考虑的只有两点: 1. 延水平方向 / 时间方向 :时间队列 ...

  8. [模拟] Codeforces - 1191C - Tokitsukaze and Discard Items

    Tokitsukaze and Discard Items time limit per test 1 second memory limit per test 256 megabytes input ...

  9. Flutter 强大的MediaQuery控件

    注意:无特殊说明,Flutter版本及Dart版本如下: Flutter版本: 1.12.13+hotfix.5 Dart版本: 2.7.0 MediaQuery 通常情况下,不会直接将MediaQu ...

  10. Android之练习MVVM+DataBinding框架模式

    最近简单学习了MVVM框架,记录一下. 结果演示: 分析其功能在不同框架下的构成: 无框架 可以明显感受到在无框架下,虽然一个单独的Activity即可实现功能,但其负担过重,代码复查时繁琐,一旦需要 ...