Chinaunix首页 | 论坛 | 博客
  • 博客访问: 12950
  • 博文数量: 5
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 112
  • 用 户 组: 普通用户
  • 注册时间: 2013-11-22 16:08
文章分类
文章存档

2014年(5)

我的朋友

分类: PHP

2014-04-03 14:10:58

  1. 访问权限修饰

  Java访问权限修饰词包括public、protected和private,置于类中每个成员的定义之前,每个访问权限修饰词仅控制它所修饰的特定定义的访问权。如果不提供任何访问权限修饰词,则意味着它是包访问权限。包访问权限意味着当前包中的所有其他类对那个成员都有访问权限,但对于这个包之外的所有类,这个成员却是private。

  类控制着哪些代码有权访问自己的成员,取得对某成员的访问权的方法是,要么使该成员成为public,要么通过不加访问权限修饰词并将其他类放置于同一个包内赋予访问权,另外,继承而来的类即可以访问public成员,也可以访问protected成员。

  使用关键字public,意味着public之后紧跟着的成员声明自己对每个人都是可用的,例如:

  class Test {

  public void SayHello() {

  System.out.println("Hello World!");

  }

  }

  public class Main {

  public static void main(String[] args) {

  Test t = new Test();

  t.SayHello();

  }

  }

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

  Class Test {

  private Test() {}

  static Test makeTest() {

  return new Test();

  }

  }

  public class Main {

  public static void main(String[] args) {

  Test t = Test.makeTest();

  }

  }

  关键字protected处理的是继承的概念,通过继承可以利用一个现有类,为了从现有类中继承,需要声明新类exntends一个现有类,例如:

  class SubTest extends Test {

  }

  基类的创建者如果希望特定成员对它的访问权限赋予派生类而不是所有类,就需要protected来完成,protected也提供包访问权限,也就是说,相同包内的其他类可以访问protected元素,例如:

  class Test {

  protected void SayHello() {

  System.out.println("Hello World!");

  }

  }

  public class Main {

  public static void main(String[] args) {

  Test t = new Test();

  t.SayHello();

  }

  }

  2. 类访问权限

  在Java中,访问权限修饰词也可以用于确定库中的哪些类对于该库的使用者是可用的,如果希望某个类可以被使用,可以通过把关键字public作用于整个类的定义来达到目的,例如:

  public class Test {

  }

  然而,还有一些额外的限制,每个编译单元都只能有一个public类,这表示每个编译单元都有单一的公共接口,用public类来表现。public类的名称必须与含有该编译单元的文件名相匹配,包括大小写。此外编译单元内不带public类也是可以的,不带权限修饰词的类拥有包访问权限,即该类只可以用于该包之中。

  需要注意的是,类即不可以是private的,也不可以是protected的,所以对于类的访问权限,权有两个选择:包访问权限或public。如果不希望其他任何人对该类拥有访问权限,可以把所有的构造器都指定为private,从而阻止任何人创建该类的对象,只有一个例外,即在该类的static成员内部创建。

  本文来源:重庆腋臭医院
阅读(813) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:linux下怎样批量修改密码?

给主人留下些什么吧!~~