了解了包的概念,就可以系统的介绍Java中的访问控制级别。在Java中,针对类、成员方法和属性提供了四种访问级别,分别是private、default、protected和public。

权限访问修饰符(权限从大到小依次往右排)
  public(公共) protected(受保护) default(缺省) private(私有)
同一个类
同一个包 ×
子父类 × ×
不同包 × × ×

public 和 private 在这里我就不一一介绍了,想必大家比我还熟悉了吧。
还有protected和default 在同一个类中  我也不验证了(因为最小权限的private都可以在同一个类中互相访问,这两个也肯定可以了)



验证protected修饰的属性 在同一个包能不能被访问。:
package d;
class Demo7 { protected int a = 1 ; }
package d;
public class Demo8 {
public static void main(String[] args) {
Demo7 z = new Demo7();
System.out.println("a="+z.a);
}
}

运行结果:


能访问的到!

验证default(缺省)修饰的属性
在同一个包能不能被访问。:

package d;
class Demo7 {
int a = 1 ;
}
package d;
public class Demo8 {
public static void main(String[] args) {
Demo7 z = new Demo7();
System.out.println("a="+z.a);
}
}

运行结果:



能访问的到!

验证protected修饰的属性 在子父类中能不能被访问。:

package d;
class Demo7 {
protected int a = 1 ;
}
package d;
public class Demo8 extends Demo7 {
public static void main(String[] args) {
Demo8 z = new Demo8();
System.out.println("a="+z.a);
}
}

运行结果:


能访问的到!


验证default(缺省)修饰的属性
在子父类中能不能被访问。:

package d;
class Demo7 {
int a = 1 ;
}
package e;
import d.*;
public class Demo8 extends Demo7 {
public static void main(String[] args) {
Demo8 z = new Demo8();
System.out.println("a="+z.a);
}
}

运行结果:


不能访问的到!

验证protected修饰的属性
在不同包中能不能被访问。:
package d;
class Demo7 {
protected int a = 1 ;
}
package e;
import d.*;
public class Demo8{
public static void main(String[] args) {
Demo7 z = new Demo7();
System.out.println("a="+z.a);
}
}

运行结果:



不能访问的到!

验证default(缺省)修饰的属性
在不同包中能不能被访问。:

package d;
class Demo7 {
int a = 1 ;
}
package e;
import d.*;
public class Demo8{
public static void main(String[] args) {
Demo7 z = new Demo7();
System.out.println("a="+z.a);
}
}

运行结果:


不能访问的到!


交流企鹅:654249738,和自学者交流群:517284938

JAVA_SE基础——59.权限访问修饰符的更多相关文章

  1. Java包、权限访问修饰符、封装性

    包 概念: 物理上是文件夹:逻辑上是有逻辑关系的类的集合 作用: 避免类重名:控制访问权限 命名规范: 在包名中,可以使用.号来区分包的级别:包名一般情况下是小写 第一级 指该项目的类型,如com,o ...

  2. JAVA 中的权限访问修饰符(public,protected,default,private )

    JAVA中有四个权限访问修饰符:public,protected,default,private 注意:这里讲的是对类中属性和方法的访问权限,并不是类的访问权限 1.default:包访问权限 如果什 ...

  3. Java权限访问修饰符

    私有的,以 private 修饰符指定,在同一类内可见. 默认的,也称为 default,在同一包内可见,不使用任何修饰符. 受保护的,以 protected 修饰符指定,对同一包内的类和所有子类可见 ...

  4. java基础语法(标识符 修饰符 关键字)

    标识符 用来表示类名,变量名,方法名,类型名,数组名,文件名的有效字符序列称为标识符.   1)只有字母(区分大小写),下划线,美元符号和数字组成,长度不受限制.注:字母包括英文26个字母 ,汉字,日 ...

  5. Java public 和 private 访问修饰符

    何为封装 从事面向对象编程的 Java 程序员,不可能不知道封装,它是面向对象编程的精髓,非常重要. 那什么是封装?字面意思就是把摆在外面的东西包起来. 一句话,封装就是对外隐藏内部细节. 那为何要封 ...

  6. [.net基础]访问修饰符

    标题:[.net基础]访问修饰符 一.前言 基础掌握不牢固啊,所以记录下来. 二.方法访问修饰符Internal (1).创建工程ParentAndSon (2).添加类ModelA namespac ...

  7. 20151024_004_C#基础知识(C#中的访问修饰符,继承,new关键字,里氏转换,is 和 as,多态,序列化与反序列化)

    1:C#中的访问修饰符 public: 公共成员,完全公开,没有访问限制. private: 私有的,只能在当前类的内部访问. protected: 受保护的,只能在当前类的内部以及该类的子类中访问. ...

  8. C# 基础(一) 访问修饰符、ref与out、标志枚举等等

    C# 基础(一) 访问修饰符.ref与out.标志枚举等等 一.访问修饰符 在C#中的访问修饰符有:private.protected.internal.public public:公共类型,同一程序 ...

  9. C#基础回顾(一)—C#访问修饰符

    一.写在前面的话 好久没有停下来总结自己,转眼间15年过去好些天,回首过去的日子,亦或失去,亦或所得!生活的节奏,常常让我们带着急急忙忙的节奏去追赶,也许这并不是每个人所期望的生活方式!于他人,于自己 ...

随机推荐

  1. vue 父组件与子组件的通信

    参考博客地址:http://www.cnblogs.com/okaychen/p/7674211.html,很详细!

  2. Rotational Region CNN

    R2CNN 论文Rotational Region CNN for Orientation Robust Scene Text Detection与RRPN(Arbitrary-Oriented Sc ...

  3. java 关于性别的处理

    运用数结构的思想(在数据库中把性别的值设置为 男 1 女 0) //数据结构思想应用 public static final Integer EMP_GENDER_OF_MAN = 1; public ...

  4. 关于一道面试题【字符串 '1 + (5 - 2) * 3',怎么算出结果为10,'eval'除外】

    最近徘徊在找工作和继续留任的纠结之中,在朋友的怂恿下去参加了一次面试,最后一道题目是: 写一个函数,输入一个字符串的运算式,返回计算之后的结果.例如这样的: '1 + (5 - 2) * 3',计算出 ...

  5. 设计模式——简单工厂模式(C++实现)

    #include <iostream> #include <string> using namespace std; class COperator { public: ; p ...

  6. delphi GDI 图片压缩代码 据说是位图缩放保持原图视觉效果最好的算法

    delphi 图片压缩代码 据说是位图缩放保持原图视觉效果最好的算法 若有更好的,请大神留言我也学习下,感谢! uses WinAPI.GDIPAPI, WinAPI.GDIPOBJ; var  Bi ...

  7. Django基本命令

    下载Django pip3 install django #默认下载最新版 pip3 install django==1.11.1 #手动选择版本 创建Django项目 格式:django-admin ...

  8. window.open打开文件乱码

    问题:刚开始使用window.open在IE兼容模式下打开文件下载出现乱码. 一开始以为是文件名是中文导致的.然后使用a标签的download属性更改文件名解决. <a class=" ...

  9. struts2.0简单教程

    Struts2.0简单配置教程: 在Eclipse中配置Struts2 步骤一:首先打开java ee并建立一个动态网站项目,我建立的项目名为TestDemo,如下图: 建立之后可在左侧发现工程,展开 ...

  10. 【Django】 rest-framework和RestfulAPI的设计

    [rest-framework] 这是一个基于django才能发挥作用的组件,专门用于构造API的. 说到API,之前在其他项目中我也做过一些小API,不过那些都是玩票性质,结构十分简单而且要求的设计 ...