Java类的访问权限

Java类的访问权限有两种:

公共类和非公共类

使用public修饰的类为公共类,没有使用public修饰的类为非公共类。

公共类的应用场景

如果这个类想要在其他包中使用就定义为公共类

非公共类只能在当前包中使用

Java类成员的访问权限

访问权限

当前类

当前包

派生类(不在当前包中)

其他包

私有的(private)

可以

默认的(没有权限修饰符)

可以

可以

受保护的(protected)

可以

可以

可以

公共的(public)

可以

可以

可以

可以

在定义类的成员时,遵循访问权限最小化的原则。

如果想在任意位置都可以使用,就定义为public公共的。

如果想在当前类和派生类中都可以直接使用,就定义为protected受保护的。

package com.bjpowernode.chapter01.demo02.p1;public class Father {private int xx = 10;//私有的, 只能在当前类中使用

int yy =  20;//默认的, 可以在当前包中使用

protected int zz = 30;//受保护的, 当前包/派生类中使用

public int oo = 40;//公共的, 任意位置

//在当前类中

public void m1() {

System.out.println( xx );

System.out.println( yy );

System.out.println( zz );

System.out.println( oo );

}

}

package com.bjpowernode.chapter01.demo02.p1;/**

* 测试访问当前包中Father类的成员权限

* 在同一个包中,可以使用默认权限/受保护权限/公共权限的成员 ,不能使用私有成员

* @author Administrator

*

*/public class Test {public static void main(String[] args) {//创建Father类的对象

Father f = new Father();//访问f的实例成员

System.out.println(f.xx);  //The field(字段/域) Father.xx is not visible(不可见), 没有访问权限

System.out.println(f.yy);

System.out.println(f.zz);

System.out.println(f.oo);

}

}

package com.bjpowernode.chapter01.demo02.p2;import com.bjpowernode.chapter01.demo02.p1.Father;/**

* 在p2包中, 测试访问p1包中Father类的成员权限

* 只能访问公共成员

* @author Administrator

*

*/public class Test02 {public static void main(String[] args) {

Father f = new Father();

//访问f的成员变量

System.out.println(f.xx);  //The field(字段/域) Father.xx is not visible(不可见), 没有访问权限

System.out.println(f.yy);

System.out.println(f.zz);

System.out.println(f.oo);

}

}

package com.bjpowernode.chapter01.demo02.p3;import com.bjpowernode.chapter01.demo02.p1.Father;/**

* p3包中定义Son类, 继承p1包中的Father类

* 子类继承了父类, 就自动拥有了父类的实例变量与实例方法

* Son类从Father类继承了四个实例变量:xx,yy,zz,oo,和一个实例方法: m1()

* @author Administrator

*

*/public class Son extends Father {//Son类从Father类继承了四个实例变量:xx,yy,zz,oo

//子类的实例方法

//因为继承,所有自动拥有, 是否能够直接使用,跟访问权限有关

public void sm() {

System.out.println( xx );

System.out.println( yy );

System.out.println( zz ); //受保护的

System.out.println( oo );

}

}

Java方法覆盖中的访问权限

Java访问覆盖(重写)的规则:

● 子类方法签名必须和父类方法一致, 方法签名就是方法名与参数列表

● 子类方法的返回值类型可以和父类方法返回值类型一样, 也可以是父类方法返回值类型的子类型

● 子类方法的访问权限可以和父类方法访问权限相同,也可以比父类方法访问权限更宽泛(更大)

如果父类方法是public修饰,子类方法只能是public修饰

如果父类方法是protected修饰,子类方法可以protected/public修饰

● 子类方法的异常不能比父类方法的异常更大

访问权限java_Java访问权限相关推荐

  1. private访问权限java_Java中的访问权限控制

    Java提供了public, private, protected 三个访问权限修饰词,提供了以下四种访问权限控制机制: 1.包访问权限: 2.Public访问权限: 3.Private访问权限: 4 ...

  2. 教程:4、文件权限和访问方式

    为了更加安全的存储文件,Linux为不同的文件赋予了不同的权限,每个文件都拥有下面三种权限: 所有者权限:文件所有者能够进行的操作 组权限:文件所属用户组能够进行的操作 外部权限(其他权限):其他用户 ...

  3. linux文件的权限模式,Linux文件权限和访问模式

    为了更加安全的存储文件,Linux为不同的文件赋予了不同的权限,每个文件都拥有下面三种权限: 所有者权限:文件所有者能够进行的操作 组权限:文件所属用户组能够进行的操作 外部权限(其他权限):其他用户 ...

  4. 计算机文件共享访问无权限,WIN7访问共享文件无权限解决方法

    如何解决XP/Win7文件不能互访,而不是一个"唯一确定的解决办法".很多时候,一个看上去无关的系统默认设置,很可能就会造成系统之间无法正常访问,因此,谁都无法凭空造出一个完美解决 ...

  5. 如何使用postman访问若依后台权限功能

    1.前言 今天需要使用postman测试一下后端代码,但是访问方法需要登录权限,在询问了前辈后了解了解决方法,特此记录. 2. 解决方法 首先将想要测试的方法上的权限注解注释掉 @PreAuthori ...

  6. Linux 权限管理: 权限的概念、权限管理、文件访问权限的设置、 粘滞位

    Linux下的基本指令 目录: 权限的概念 权限管理 文件访问权限的设置方法 目录的权限 粘滞位 权限的概念 Linux下用户有两种: 超级用户(root).普通用户. 超级用户:具有最高权限,可以在 ...

  7. linux文件访问权限,Linux文件权限和访问模式

    为了更加安全的存储文件,Linux为不同的文件赋予了不同的权限,每个文件都拥有下面三种权限: 所有者权限:文件所有者能够进行的操作 组权限:文件所属用户组能够进行的操作 外部权限(其他权限):其他用户 ...

  8. django Rest Framework----认证/访问权限控制/访问频率限制 执行流程 Authentication/Permissions/Throttling 源码分析...

    url: url(r'books/$',views.BookView.as_view({'get':'list','post':'create'})) 为例 当django启动的时候,会调用执行vie ...

  9. Ubuntu之解决需权限才能访问串口的方法

    解决需权限才能访问串口的方法(user_name为用户名如ancy): 1. --> sudo usermod -a -G dialout user_name 2. 重启电脑

  10. 关于”要执行请求的操作,WordPress需要访问您网页服务器的权限”

    http://blog.csdn.net/qq_15710883/article/details/59058237 今天重置了阿里云的lnmp环境之后,重装了wordpress程序,在安装主题.wor ...

最新文章

  1. EF 调试跟踪生成的SQL语句
  2. Java泛型 通配符? extends与super
  3. 逻辑分析仪抓取CAN总线数据
  4. linux 压缩解压打包
  5. SAP Spartacus的cxComponentWrapper指令
  6. sql跨表查询_白话django之ORM的查询语句
  7. 格式小结 html 0926
  8. 容器编排技术 -- 了解Kubernetes对象
  9. 【英语学习】【Level 07】U04 Rest and Relaxation L1 Waiting to board a train
  10. POJ-1001 求高精度幂
  11. Win10 Build9926 更新问题解决
  12. PHP7.1 狐教程
  13. Ubuntu 安装 gcc-4.8
  14. python房价数据分析波士顿_Python编程数据科学入门 - 波士顿房价数据分析
  15. 【老生谈算法】matlab实现信息光学夫琅禾费衍射源码——夫琅禾费衍射
  16. 修改状态栏字体颜色和背景颜色
  17. IEC 60601-2-33:2022 《医疗诊断用磁共振设备基本安全和基本性能的特殊要求》。
  18. 人月神话札记:提纲挈领
  19. python3GUI--磁力搜索工具(附tk源码)
  20. 为啥一到秋季就鼻塞、流鼻涕、打喷嚏?该如何是好?别总当成感冒

热门文章

  1. 2020年天津市二级分类土地利用数据(矢量)
  2. 积温空间分布数据、气温分布数据、日照数据、降雨量分布、太阳辐射数据、地表径流数据、土地利用数据、npp数据、ndvi数据
  3. python 异常处理小结 try except raise assert
  4. java hibernate 插入数据_hibernate 批量插入数据
  5. SLAM学习笔记-------------(八)视觉里程计2
  6. 全国计算机演示文稿,全国计算机等级考试二级office演示文稿题目[文].pdf
  7. c语言散列表的长度为11,2011数据结构C语言模拟试题及答案.doc
  8. 图:昌荣传播2010夏令营拉歌大赛胜利闭幕
  9. linux 查看nginx,php-fpm运行用户及用户组
  10. hosts 文件目录