super关键字与单例

Super关键字作为父类对象和选择父类构造器使用。与this关键字类似,只不过是this代表当前对象和转发构造器,说的简单点就是super就是用来做与父类相关的访问调用的,super关键字只能在实例方法和构造器中使用,不能在静态方法和main方法中使用。Super关键字加 用来调用父类的方法。例如:

super关键字与单例

此时super相当于代表着父类对象来调用这个方法。


  super写在子类构造器用于调用父类构造器的话,只能写在第一行代码上。使用super选择父类构造器只能写在构造器内,不能写在方法、main方法内。super();写法就是用于选择父类构造器,括号里传递什么参数类型就调用拥有什么类型的构造器。例如:

super关键字与单例



  使用super调用父类方法时,先访问最近继承的那个父类,如果这个父类没有这个方法就会一直往上调用直到找到为止。

super关键字与单例


 如果是所有的父类都有被调用的那个方法,就会调用最近的一个 。例如:

super关键字与单例





设计模式:

Java*有23种设计模式,大致分为三类:创建类、行为类、结构类。

 

单例设计模式:

  定义:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。

 

  单例模式是用来使得一个类只产生一个对象,使这个对象成为系统中唯一的实例。代码的写法是首先需要将构造器私有化,私有化构造器的目的是不让外部构建这个类的对象,然后申请一个静态属性,属性的类型就是这个类名,在这个属性里新建一个对象,这样在类加载的时候就会构建对象,最后写一个静态方法将这个对象返回出去。

 

单例模式的优点:

  1.在内存中只有一个对象,节省内存空间。

  2.避免频繁的创建销毁对象,可以提高性能。

  3.避免对共享资源的多重占用。

  4.可以全局访问。

 

适用场景:

  由于单例模式的以上优点,所以是编程中用的比较多的一种设计模式。我总结了一下我所知道的适合使用单例模式的场景:


  1.需要频繁实例化然后销毁的对象。

  2.创建对象时耗时过多或者耗资源过多,但又经常用到的对象。

  3.有状态的工具类对象。

  4.频繁访问数据库或文件的对象。

  5.以及其他我没用过的所有要求只有一个对象的场景。

 

单例模式注意事项:

 

  1.只能使用单例类提供的方法得到单例对象,不要使用反射,否则将会实例化一个新对象。

  2.不要做断开单例类对象与类中静态引用的危险操作。

  3.多线程使用单例使用共享资源时,注意线程安全问题。

 

单例模式的代码写法:

  称之为单例三部曲

  1.构造器私有化  

  2.私有静态属性里新建一个对象  

               3.一个公开的静态方法,以自己的实例为返回值,返回出去这个实例

  例如:

super关键字与单例




本文转自 ZeroOne01 51CTO博客,原文链接:http://blog.51cto.com/zero01/1974048,如需转载请自行联系原作者

上一篇:windows phone 7 定位(获取经纬度),然后找到经纬度所在的位置(城市信息)


下一篇:第 44 章 Chart 图表