从《Java编程思想》提炼访问权限的重要性

从《Java编程思想》提炼访问权限的重要性

问题:谁有权限取用该类
描述:访问修饰词,指明哪些是可用,哪些是不可用

访问控制权限与“最初的实现并不完美”有关

理解:代码是变动的 ,通过访问控制权限,控制仅对外暴露哪些,哪些不对外暴露,不对外暴露的部分,代码修改不会影响其他使用者调用

命名空间:Package
  • 要点

    1、进行代码组织的关键字,
    2、一个项目按层级结构拥有独一无二的包名/命名空间
    3、也包含引入jar包的命名空间

  • 为什么要有命名空间

    1、用以解决,两个相同名称的Class文件同时存在的问题

导入命名空间:import
  • 作用:引用命名空间
    1、全包名,具体引用
    2、*
    3、使A命名空间的类拥有B命名空间的类的访问权限
    4、允许一个项目的类同名,前提是在不同命名空间下
    5、直接导入优先级大于*
    
    import com.demo.*;
    import com.demo.User;
    import static com.demo.StatisConstants;
    

权限修饰符

同包名下可访问子类中可访问外部包可访问同类中可访问
publicVVVV
protectedVV-V
default/friendlyV--V
private---V
  • 可以理解为public所有人可见的外貌,protected是可以继承的财产,只有后代可以看见,private是私人生活,仅自己可见
  • 访问权限为类群聚在一个包中提供了意义和理由,在便于组织的同时,也限制了访问权利

隔离谁

  • 类 Class

    • Java源文件可以被称为编译单元,以.java结尾,而一个编译单元有且仅有一个public class,可以有任意个非public class。
    package com.demo;
    
    public class User {}
    
    class User2{}
    class User3{}
    
    • 如果class只能被public/default修饰,如果被default修饰,只能被同包名下的其他类引用,否则无法引用
  • 方法 Method

    private void fuction1(){};
    protected void fuction2(){};
    public void fuction3(){};
    
  • 域成员 Variable

    private String  privateVariable;
    protected String canExtendVariable;
    public String publicVariable;
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值