了解了包的概念,就可以系统的介绍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. VS中,Ctrl+Shift+F无法在文件中查找

    可能是和搜狗的繁简字切换的快捷键冲突了,把搜狗的该快捷键修改或者关闭掉即可.

  2. jQuery中的自定义插件之----工厂方法(Factory Widget)

    jQuery赋予了我们很强大的插件自定义的功能,可以作为我们的武器库,应用到所有的网页中,使用的语法比较有意思,下面是对它的一些探讨. 遵循以下的原则: 1 IIFE 创建一个jQuery的scope ...

  3. 初读 c# IL中间语言

    对一段c#编写的代码,有一些疑问,想通过IL中间语言看看,编译后是怎么处理的.代码如下: static StringBuilder sb = new StringBuilder(); ; ; /// ...

  4. C#多线程之异步编程

    c#中异步编程,主要有两种方法: 1.委托的异步调用: 2.Task的await,async (c# 4.5) 我们来看例子: /// <summary> /// 异步保存网页,url:网 ...

  5. 文件导出也可以这么写【js+blob】

    文件导出在软件开发中是个比较常用的功能,基本原理也很简单: 浏览器向后台发送一个Get请求 后台处理程序接收到请求后,经过处理,返回二进制文件流 浏览器接收到二进制文件流后提示下载文件 调用的js方法 ...

  6. 32.Django form组件

    Form组件 Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 创建Form类时,主要涉及到 [ ...

  7. Bootstrap 在手机页时,导航下拉自动回收

    $(".menu-main").collapse("hide"); //.menu-main就是下来导航的类名

  8. VS快速注释

    注释:Ctrl+k  + Ctrl+c 去注释:Ctrl+k + Ctrl +u

  9. 设计模式——外观模式(C++实现)

    #include <string> #include <iostream> using namespace std; class STSystemA { public: voi ...

  10. python爬微信公众号前10篇历史文章(4)-正则表达式RegularExpressionPattern

    正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串.将匹配的子串替换或者从某个串中取出符合某个条件的子串等. Pytho ...