Java支持四种不同的访问权限:

修饰符 说明
public 共有的,对所有类可见
protected 受保护的,对同一包内的类和所有子类可见
private 私有的,在同一类内可见
默认的 在同一包内可见。默认不使用任何修饰符

1、public:public表明该数据域、方法是对所有用户开放的,所有用户都可以直接进行访问。
 2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接访问,私有财产神圣不可侵犯嘛,即便是子女,朋友(同一包内的类),都不可以使用。
 3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制;而对于其他的外部class,protected就变成private。

作用域
 当前类
              同一其 他     package   
子孙类
其他package
public




protected



×
默认的
×
private

×
×
×

不写时为默认访问权限。
在实际的使用过程中,数据域应该设置为private,方法设置为public,这样更能体现出OOP封装的原则。

类只有默认和public访问权限。

public权限:包外也可以访问;

默认权限:包外不可以访问。

*\com\example\test.java

package com.example;/*** Created by N3verL4nd on 2016/11/21.*/
class test {private String str = "Hello World";public String getStr() {return str;}
}

HelloWorld.java在默认包中

test类改为public则可以进行访问

Java中的受保护部分对所有子类及同一个包中的所有其他类都可见。这点显得很鸡肋。

总结一下:

private:仅对本类可见

public:对所有类可见

protected:对本包和所有子类可见

默认权限(不需要修饰符):对本包可见

参考:http://www.cnblogs.com/dolphin0520/p/3734915.html

转载于:https://www.cnblogs.com/lgh1992314/p/6616295.html

java核心技术----访问权限相关推荐

  1. [java]关于访问权限

    [java]关于访问权限 java文件中的class public class: 包内和包外class都可访问 friendly class: 包内class可访问, 包外class不可访问, pri ...

  2. java 集成访问权限_集成块:Java访问控制,停止疯狂!

    java 集成访问权限 疯狂谈话 您可以使用访问修饰符将API与实现(也称为封装)分开. 修饰符为您提供了一种干净的方法来告诉其他开发人员:"这是我打算供您使用的内容,其余所有内容都在我的实 ...

  3. Java学习-访问权限控制

    Java学习-访问权限控制 1.为什么要有访问权限控制? 2.包:库单元 3.Java访问权限修饰词 1.为什么要有访问权限控制? 访问控制(或隐藏具体实现)与"最初的实现并不恰当" ...

  4. java变量访问权限_JAVA成员变量的访问权限

    成员变量的访问权限 我看到很多地方谈到关于Java里变量的访问权限问题. 很多地方认为对于默认修饰符的理解是这样的: 不写时默认为friendly 但就我所知Java里没有 friendly这一关键字 ...

  5. Java基础--访问权限控制符

    今天我们来探讨一下访问权限控制符. 使用场景一:攻城狮A编写了ClassA,但是他不想所有的攻城狮都可以使用该类,应该怎么办? 使用场景二:攻城狮A编写了ClassA,里面有func1方法和func2 ...

  6. java 接口访问权限_详解Java之路(五) 访问权限控制

    在Java中,所有事物都具有某种形式的访问权限控制. 访问权限的控制等级从最大到最小依次为:public,protected,包访问权限(无关键词)和private. public,protected ...

  7. java override 访问权限_java 重写(Override)的规则

    遵循的规则: [1]访问修饰符的限制一定要不小于被重写方法的访问修饰符 比如:Object类有个toString()方法,开始重写这个方法的时候我们总容易忘记Public修饰符,出错的原因就是:没有加 ...

  8. java 对象访问权限_Java面向对象--访问权限

    访问权限 1. public 公共的 2. private 私有的 3. default 包内的 package com.kjy.entity; public class Person { publi ...

  9. java 匿名访问权限_java-春季安全性allowAll()不允许匿名访问

    我有一个方法要同时允许匿名和身份验证访问. 我正在使用基于Java配置的Spring Security 3.2.4. 覆盖的configure方法(在我的自定义配置类中,扩展了WebSecurityC ...

最新文章

  1. SQLSERVER存储过程基本语法使用
  2. 黄海广博士的机器学习个人笔记及深度学习笔记
  3. Android移动APP开发笔记——最新版Cordova 5.3.1(PhoneGap)搭建开发环境
  4. 20180313分块查找
  5. 理解Promise (2)
  6. 使用各种方法加速大型矩阵运算的效率对比
  7. Winform中实现新增和更新共用一个页面的示例流程
  8. Linux常用服务部署与优化之NFS篇
  9. android 4.4 OpenGL实现库的加载规则
  10. php如何解码图片,php基于base64解码图片与加密图片还原实例_PHP
  11. JVM性能优化之栈区域OOM问题
  12. vs2017安装完成,但有错误。
  13. 分辨西瓜和冬瓜的思考
  14. Linux perf 1.1、perf_event内核框架
  15. loj6198 谢特
  16. 一份自己整理的不太详细的常见面试题
  17. 物联卡先用流量包还是套餐流量,物联卡流量扣除顺序是什么?
  18. VC++ 绘制线条 OnLButtonDown函数(DrawView.cpp) 利用SDK全局函数实现画线功能 利用MFC的CDC类实现画线功能 利用MFC的CClientDC类实现画线功能
  19. 数字电路学习——三极管的使用
  20. QT和linux实现简易远程聊天工具

热门文章

  1. 【LeetCode】405 Convert a Number to Hexadecimal (java实现)
  2. 数据加密类型及创建和申请CA证书
  3. Redis实现关注关系
  4. Hbase shell 常用命令
  5. 典型的Linux系统启动需要完成的服务
  6. 利用Java生成静态HMTL页面的方法收集
  7. 转载:Yahoo推出视频标签游戏
  8. Android的webview加载本地html、assert内html和收集URL
  9. ContactsContract.Contacts与ContactsContract.CommonDataKinds.Phone的区别
  10. android 屏幕切换监听