JAVA学习笔记——面向对象03

新的一天开始了,一不小心看了很长时间美剧~罪过啊,不说废话。继续JAVA的学习
今天的要点如下:
  1. 什么时候使用静态:要从两方面下手,因为静态修饰的内容有成员变量和成员函数
  2. 什么时候定义静态变量(类变量)呢?当对象中出现需要共享数据时,该数据被静态所修饰,对象中的特有数据要定义成非静态存在于对内存中。
  3. 什么时候定义静态函数?当功能内部没有访问到非静态数据(对象的特有数据),那么该功能可以定义成静态的。  
  4. 静态的应用(工具类):每一个应用程序中都有共性的功能,可以将这些功能进行抽取,独立封装,以便复用。将方法都静态后,可以方便于使用,但是还是可以被其他程序建立对象的,为了更加严谨,强制让该类不能建立对象,可以通过将构造函数私有化完成。
  5. 帮助文档的制作javadoc:通过文档注释来完成                                                
               
       /** 
               这是一个……工具类,该类中提供了……功能
                @author 张三
                @version v1.1
      */
       /**
                具体注释
                @param  参数……
                @return   返回值……
                ……
       */
     
  6. 如果对一个工具类生成帮助文档,该类必须为PUBLIC修饰。
  7. 一个类中会认会有一个空参数的构造函数,这个默认的构造函数的权限和所属类一致。默认构造函数的权限是随着累的变化而变化的。
  8. 静态代码块:格式static{静态代码块中的执行语句} 特点:随着类的加载而执行,只执行一次,并优先于主函数。用于给类进行初始化。
  9. 对象的初始化过程:例子 Person p  = new Person("zhangsan",20);这句话做了什么事情:(1)因为new用到了Person.class.所以会先找到Person.class文件并加载到内存中。(2)因为该类的static代码块,如果有的话,给Person。class类进行初始化。(3)在对内存中开辟空间,分配内存地址。(4)在对内存中建立对象的特有属性,冰进行默认初始化。(5)对属性进行显示初始化.(6)对对象进行构造代码块初始化。(7)对对象进行对应的构造函数初始化。(8)将内存自知赋给内存中的p变量。
  10. 设计模式:解决某一类问题最行之有效的方法。JAVA中23中设计模式。
  11. 单例设计模式:解决一个类在内存中只存在一个对象。想要保证对象唯一(1)为了避免其它程序过多建立该类对象。先禁止其它程序建立该类对象(2)还为了让其它程序可以访问到该类对象,只好在本类中,自定义一个对象。(3)为了方便其它程序对自定义对象的访问,可以对外提供一些访问方式。
  12. 代码体现:(1)将构造函数私有化(2)在类中创建一个本类对象(3)提供一个方法可以获取到该对象。
  13. 应用:对于事物该怎么描述还怎么描述。当需要将该事物的对象在内存中唯一时,就将以上的三步加上即可。
  14. 单例设计模式体现两种方式:(1)先初始化对象,称为饿汉式(2)方法被调用时才初始化,也叫做对象的厌食加载,称为懒汉式。
  15. 记录原则:定义单例,开发一般用饿汉式,饿汉式比较简单而且安全。懒汉式存在问题:如果多个人调用该方法可能出现问题。涉及到线程之间的竞争和同步。
  16. 懒汉式问题解决方案:(1)锁机制(2)双重判断技术。
      
 

posted on 2013-02-07 15:13  yjc327  阅读(144)  评论(0编辑  收藏  举报

导航