购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.4 访问说明符

访问说明符主要用于限定类、类成员变量、类成员方法的作用域。Java语言支持的访问说明符包括public、protected、private和默认值(无关键字)。

1.public访问说明符

public可以修饰类,也可以修饰成员变量和成员方法。如果一个类被声明为公共类(public),表明它可以被其他类访问和引用。这里的访问和引用是指这个类作为整体对外界是可见和可使用的。其他类中的程序可以创建这个类的对象、访问这个类内部可见的成员变量和调用它的可见方法。

一个类作为整体对其他类可见,并不能代表类内的所有属性和方法也同时对该类是可见的。前者只是后者的必要条件。类的属性和方法能否为其他类所访问,还要看这些属性和方法自己的访问说明符。

利用public修饰类、成员变量和成员方法的示例代码如下所示。


  //定义公共类Person
  public class Person {
      //声明public修饰的变量
      public String name;
      //定义public修饰的方法
      public void setName(String xm) {
           name = xm;
      }
  }

  

程序分析: 由于被声明为公共类,Person类可以被任意类进行访问和引用;Person类的成员变量name和方法setName()也是由public修饰的,那么其他类创建Person类的对象后,就可以利用该对象访问类的成员变量name和调用类的成员方法setName()。

下面通过示例演示其他类如何使用Person类以及类中的变量和方法。

【例3-6】在TestPerson类中引用Person类。

功能实现: 在TestPerson类的主方法中创建Person类的对象,引用Person类的成员变量,调用Person类的成员方法。


  //定义类TestPerson
  public class TestPerson {
      public static void main(String[] args) {
           //在TestPerson类中,引用Person类
           Person person1;
           //创建Person对象
           person1 = new Person();
           //利用对象调用Person类的成员方法
           person1.setName("张三");
           //利用对象引用Person类的成员变量
           String s1 = person1.name;
           //输出s1的值
           System.out.println(s1);
     }
  }

  

程序运行结果如图3-12所示。

图3-12 例3-6的运行结果

程序可以正常执行并输出结果,说明公共类Person可以被其他类引用,类中的公共变量和公共方法也可以通过Perosn类的对象在其他类中使用。

2.protected访问说明符

protected可以修饰成员变量和成员方法,但不能修饰顶层类。用protected修饰的变量和方法可以被该类自身、与它在同一个包中的其他类、其他包中该类的子类引用。

3.private访问说明符

private可以修饰成员变量和成员方法,但不能修饰顶层类。用private修饰的成员变量和成员方法只能被该类自身使用,而不能被任何其他类使用。

4.默认访问说明符

没有使用上述三个访问说明符修饰的类、成员变量、成员方法,说明它们使用的是默认的访问说明符(friendly)。这种默认的访问说明符规定该类只能被同一个包中的类访问和引用,而不可以被其他包中的类使用。

注意事项 在Java语言中,friendly不是关键字。它是在没有指定访问说明符时,指出访问级别。但不能用friendly来声明类、变量或方法。

访问说明符的访问等级如表3-2所示。

表3-2 访问说明符的访问等级

注意事项 成员方法中定义的变量不能有访问说明符,有关包的详细描述见第4章。 SZ3GSEnVBAAe7iKP0qTqg7Zw/j0yocNPDwWGUGhirwCwS48XCue1uocrUxdOMpNN

点击中间区域
呼出菜单
上一章
目录
下一章
×