java类 权限修饰词_java-学习笔记-访问权限修饰词一

Public、protected和private

public protected和private是java访问权限修饰词,在使用的时,置于类中的每个成员定义之前,无论是一个域还是一个方法。如果不提供任何访问权限修饰词,则意味着它是“包访问权限”。包访问权限意味着,当前包中的所有其他类对那个成员都有访问权限。但是对于这个包之外的所有类,这个成员是private的。对于处于相同目录并且没有给自己设定任何包名称的文件,java自动将它们看作隶属于该目录的默认包中,于是它们为该目录中所有其他的文件都提供了包访问权限。

public

一个成员是public的,无论是谁,无论在哪里,都可以访问该成员。

java编程思想对类访问权限的描述:

1. 对于每个编译单元(文件)都只能有一个public类。这表示,每个编译单元都有单一的公共接口,用public类来表现。如果某个编译单元中有一个以上的public类,编译器就会报错。

2. 在java代码组织中,假设文件名为MyClass.java,那么意味这在这个文件中的public类名称必须是MyClass。若名称不匹配,编译器同样会报错的。

3. 每个编译单元中,也是可以完全不带public类的。这种情况下,可以随意对文件命名(但是会对阅读和维护产生影响)(参考:http://blog.csdn.net/bareheadzzq/article/details/6562211)

·protected

继承而来的类,是可以访问protected成员的。private

只有自己类,才可以访问自己类中的private类型的域和方法。

private

关键字private的意思是,除了包含该成员的类之外,其他任何类都无法是访问到这个成员。

处于同一个包内的其他类都无法访问private成员的。因此等于说自己隔离了自己。

访问权限的控制常被成为是具体实现的隐藏。把数据和方法包装进类中,以及具体实现的隐藏,常共同称为封装。其结果是一个同时带有特征和行为的数据类型。

类访问权限

访问权限修饰词也可以作用与类,若希望某个类可以为某个客户端程序员使用,就可以把public作用于整个类的定义。

额外的限制:每个编译单元(文件)都只能有一个public类。这表示,每个编译单元都有单一的公共接口,用public类来表现。一个编译单元拥有一个以上的public类,编译器就会报错。pubilic类的名称必须和文件名相同。

注意:类既不可以是一个private类型的(这样就导致出类这个类,其他类都无法访问它),也不可以是一个protected类型。对于类的访问权限,只有两种选择:包访问权限和public类型。如果不希望别人对该类拥有访问权限,可以把所有的构造其设置为private类型的,从而阻止别人创建这个类的对象。除非你是这个类的static方法,在内部就可以创建它。

控制对成员的访问权限有两个原因:

1是为了是用户不要触碰那些他们不该触碰的部分。这些部分对于类内部的操作是必要的,但不属于客户端程序员所需要的接口。指定为private,对于客户端程序员来说,可以清楚的了解什么是他们应该注意的,什么是应该忽视的。

2更为重要的原因是,为了让类库设计者可以更改类的内部工作方式,而不必担心这样做会对客户端程序员会产生重大的影响。如果接口和实现可以被明确的隔离和保护,那么就客户端程序员就可以不用重写代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值