下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

如何了解java的private关键字

作者:课课家教育     来源: http://www.kokojia.com点击数:949发布时间: 2016-02-01 13:38:52

标签: java在线apijava分布式架构零基础学习java

大神带你学编程,欢迎选课

  private关键字意味着除非那个特定的类,而且从那个类的方法里,否则没有人能访问那个成员。同一个包内的其他成员不能访问private成员,这使其显得似乎将类与我们自己都隔离起来。另一方面,也不能由几个合作的人创建一个包。所以private允许我们自由地改变那个成员,同时毋需关心它是否会影响同一个包内的另一个类。默认的“友好”包访问通常已经是一种适当的隐藏方法;请记住,对于包的用户来说,是不能访问一个“友好”成员的。这种效果往往能令人满意,因为默认访问是我们通常采用的方法。对于希望变成public(公共)的成员,我们通常明确地指出,令其可由客户程序员自由调用。而且作为一个结果,最开始的时候通常会认为自己不必频繁使用private关键字,因为完全可以在不用它的前提下发布自己的代码(这与C++是个鲜明的对比)。然而,随着学习的深入,大家就会发现private仍然有非常重要的用途,特别是在涉及多线程处理的时候(详情见第14章)。

如何了解java的private关键字_java在线api_java分布式架构_课课家

  下面是应用了private的一个例子:

  //: IceCream.java

  // Demonstrates "private" keyword

  class Sundae {

  private Sundae() {}

  static Sundae makeASundae() {

  return new Sundae();

  }

  }

  public class IceCream {

  public static void main(String[] args) {

  //! Sundae x = new Sundae();

  Sundae x = Sundae.makeASundae();

  }

  } ///:~

  这个例子向我们证明了使用private的方便:有时可能想控制对象的创建方式,并防止有人直接访问一个特定的构建器(或者所有构建器)。在上面的例子中,我们不可通过它的构建器创建一个Sundae对象;相反,必须调用makeASundae()方法来实现(注释③)。

  ③:此时还会产生另一个影响:由于默认构建器是唯一获得定义的,而且它的属性是private,所以可防止对这个类的继承(这是第6章要重点讲述的主题)。

  若确定一个类只有一个“助手”方法,那么对于任何方法来说,都可以把它们设为private,从而保证自己不会误在包内其他地方使用它,防止自己更改或删除方法。将一个方法的属性设为private后,可保证自己一直保持这一选项(然而,若一个句柄被设为private,并不表明其他对象不能拥有指向同一个对象的public句柄。有关“别名”的问题将在第12章详述)。

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程