了解了包的概念,就可以系统的介绍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. 初探WebSocket

    初探WebSocket node websocket socket.io 我们平常开发的大部分web页面都是主动'拉'的形式,如果需要更新页面内容,则需要"刷新"一个,但Slack ...

  2. webstorm修改工具栏主题

    ** 操作如图所示 **

  3. MyBatis的三层级联和二层缓存

           我们这里说的三层级联和二级缓存其实也是MyBatis映射器的知识点,只是因为比较难理解,所以单独拿出来讲解,下面是三层级联的内容:        我们知道,在数据库中包含着一对一,一对多 ...

  4. 为你的WordPress博客添加CSS3炫酷读者墙

    为你的WordPress博客添加CSS3炫酷读者墙,也就是把你文章的评论最活跃的读者显示在单独的一个页面,先看看效果吧: 1.复制主题的page.php,另存为readerwall.php,然后在其顶 ...

  5. Git分支(1/5) -- 基本命令

    把所有的变化都放在master分支并不是最好的做法. 建议的做法是把变化放在分支里面. 至少应该准备一个feature分支之类的, 把变化都隔离开来, 然后等到所有的功能都稳定之后再合并到master ...

  6. NGUI_Toggle

    七.Toggle复选框:就是对一个选项做上一个标记,表示这个选项已经被选中了. 1.当我们要判断是否使用复选框,可以遵循一下规律: (1).该功能只有两种状态  是/否 (2).该功能同一时间只能激活 ...

  7. C语言第三次博客作业---单层循环结构

    一.PTA实验作业 题目1 1.实验代码 int N,i; //N为用户数,i记录循环变量 double height; //height放身高 char sex; //sex放性别F为女,M为男 s ...

  8. Java生成图片验证码

    在日常我们在登录或者注册的时候,网页上会出现验证码让我们填写,其实利用jdk提供给我们的工具类完全可以模拟出来一个生成验证码图片的功能. package util; import javax.imag ...

  9. Mycat 分片规则详解--一致性hash分片

    实现方式:基于hash算法的分片中,算法内部是把记录分片到一种叫做"bucket"(hash桶)的内部算法结构中的,然后hash桶与实际的分片节点一一对应,从此实现了分片.路由的功 ...

  10. 使用TensorFlow实现回归预测

    这一节使用TF搭建一个简单的神经网络用于回归预测,首先随机生成一组数据 import tensorflow as tf import numpy as np import matplotlib.pyp ...