单例设计模式、包

设计模式:解决问题的一种行之有效的思想。


单例设计模式:


解决:保证了一个类在内存中只能有一个对象。

比如多程序访问同一个配置文件。希望多程序操作的都是同一个配置文件中的数据。那么就需要保证该配置文件对象的唯一性。


思路:


怎么做才能保证这个对象是唯一的呢?


1, 其他程序随时用new创建该类对象,无法控制个数。

      结论:不让其他程序创建该类的对象。因为不可以控制。

2,不让其他程序创建,该类在本类中自己创建一个对象

3,该类将创建的对象对外提供,让其他程序获取并使用。


步骤:


1,  怎么实现不让其他程序创建该类对象呢?

将该类的构造函数私有化

2,  在本类中创建一个本类对象。

3,  定义一个方法,返回值类型是本类类型。让其他程序通过该方法就能获取该类对象


//饿汉式

class Single

{

  private static Single s=new Single();//0x0078

  private Single(){};

  public static Single getInstense()//定义方法是为了可控

  {

     return s;

  }

}



//懒汉式

//单利的延迟加载方式

class Single2

{

  private static Single2 s=null;

  private Single2(){};

  public static Single2 getInstense()//定义方法是为了可控

  {

     if(s==null)

        s=new Single2();

     return s;

  }

}

classSingleDemo

{

   public static void main(String[] args)

  {
    Single s1=Single.getInstance();

    Single s2=Single.getInstance();

    System.out.println(s1==s2);//true

  }

}


开发时一般选用饿汉式,懒汉式存在线程安全隐患。但面试时写懒汉式。


当一个类中的所有方法都是静态的时,其构造函数位私有的,一般用于工具类。


文档注释:


       要生成文档注释,该类必须是public

        /**

          @author 张三

          @version v2.1

        */

   -d:输出文件的目标目录

   -author:包含作者信息

   -version:包含版本信息

   javadoc –d myhelp –author –versionArray.java

   myhelp:生成问当的路径

   Array.Java:文件名

   private 或默认权限,javadoc是不会提取的。提取public类型的方法



  包的作用:

1, 对类进行分类管理

2, 对类提供了多层名称空间


   包的表现形式是文件夹


   包名.类名才是类名的全称

   编译:Javac –d 路径加文件


   包与包之间的类的访问

     被访问的包中的类以及类中的成员必须被public修饰。


   当包与包之间的类存在着继承时

     父类给不同包的子类提供了一个特殊的直接访问权限,保护权限protected


   不同包与包之间有两种权限可以使用。

    Public       protected(局限性 只给不同包的子类提供使用)

               

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值