java-学习笔记-访问权限修饰词一
时间:2016-12-14作者:华清远见
Public、protected和private public protected和private是java访问权限修饰词,在使用的时,置于类中的每个成员定义之前,无论是一个域还是一个方法。如果不提供任何访问权限修饰词,则意味着它是“包访问权限”。包访问权限意味着,当前包中的所有其他类对那个成员都有访问权限。但是对于这个包之外的所有类,这个成员是private的。对于处于相同目录并且没有给自己设定任何包名称的文件,java自动将它们看作隶属于该目录的默认包中,于是它们为该目录中所有其他的文件都提供了包访问权限。 public 一个成员是public的,无论是谁,无论在哪里,都可以访问该成员。 java编程思想对类访问权限的描述: 1. 对于每个编译单元(文件)都只能有一个public类。这表示,每个编译单元都有单一的公共接口,用public类来表现。如果某个编译单元中有一个以上的public类,编译器就会报错。 2. 在java代码组织中,假设文件名为MyClass.java,那么意味这在这个文件中的public类名称必须是MyClass。若名称不匹配,编译器同样会报错的。 3. 每个编译单元中,也是可以完全不带public类的。这种情况下,可以随意对文件命名(但是会对阅读和维护产生影响)(参考://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 更为重要的原因是,为了让类库设计者可以更改类的内部工作方式,而不必担心这样做会对客户端程序员会产生重大的影响。如果接口和实现可以被明确的隔离和保护,那么就客户端程序员就可以不用重写代码。 发表评论
|