张孝祥《Java就业培训教程》读书笔记

   1,只要定义有参数的构造方法,都需要再定义一个无参数的构造方法;

     2,构造方法与析构方法都是在对象存在的时候被调用。

    3,finalize()方法是在对象被当成垃圾从内存中释放前调用,而不是在对象变成垃圾前调用。

    4,main只在类被装载时调用,因此只会执行一次。在类的实例里main函数并不会被执行。

    5,类的static属性在类被装载时被初始化。

   6,Java参数是值传递,且函数的形参是实参的副本。

    7,&&和||均为短路运算符。a&&b表示当a条件为false的时候不用运行b条件;a||b表示a条件为真的时候不会运行b条件.

    8,静态代码块在类被装载时被执行,且只能被执行一次,静态块经常用来进行类属性(类的静态属性)初始化。

    9,单例设计模式:------对某个类只存在她的一个实例。
          类的构造方法要设成静态的:防止外部用new来实例这个类。
          类有个静态方法提供给外部用来返回一个该类的一个实例引用。
          该类的实例引用变量是一个静态变量。同时因为该类的引用变量是一个静态变量,所以他暗含了返回的实例是同一个实例。

   10,内部类:
     在类中直接定义的嵌套类的使用范围,仅限于这个类的内部。
     如果用static修饰一个内部类,这个类就相当于是一个外部定义的类。所以static的内部类中可以声明static成员,但是,菲static的内部类中的成员是不能声明为static的。static的内部类不能再使用外层封装类的非static的成员变量。
    方法中定义的内部类只能访问方法中的final类型的局部变量,因为用final定义的局部变量相当于一个常量,他的生命周期超出了方法运行的生命周期。

   11,如果子类构造方法中没有显式调用父类构造方法,而父类中又没有无参数的构造方法(需要再次说明的是,如果父类没有显式的定义任何构造方法,系统将自动提供一个默认的没有参数的构造方法,这还是等于父类中有无参数的构造方法的),则编译出错。

 12,子类对象的实例化过程。
    (1)产生对象并对成员变量默认初始化
     (2)绑定构造方法参数,对构造方法中的形式参数赋值
    (3)如果有this()调用,则调用相应的重载构造方法(被调用的重载构造方法又从步骤2开始执行这些流程),被调用的重载构造方法的执行流程结束后,回到当前构造方法。当前构造方法直接跳转到步骤6执行
   (4)显式或者隐式追溯调用父类的构造方法(一直到object类为止,object类是所有java类的最顶层父类),父类的构造方法又从步骤2开始对父类执行这些流程,父类的构造方法的执行流程结束后,回到当前构造方法,但前构造方法继续往下执行。
    (5)进行实例变量的显式初始化操作,也就是 执行载定义成员变量时候就对其进行赋值的语句
    (6)执行当前构造方法的方法体中的程序代码。
        

13,接口:
  接口的成员都是public访问类型的
  接口里的变量默认是用public static final标识的,所以,接口中定义的变量就是全局静态常量
  实现一个接口就是药实现该接口的所有方法
  接口中的方法都是抽象的

14,instanceof
    用来判断是否一个类实现了某个接口,也可以用他来判断一个实例对象是否属于一个类

15,自定义的异常必须继承Exception类

16 ,线程:
    线程的产生:有两种方法--继承Thead类和实现Runnable接口
     一个代码段被执行,一定是在某个线程上运行的,代码与线程密不可分,同一段代码可以于多个线程相关联,在多个线程上执行的也可以是相同的一段代码。
   实现Runnabel 接口相对于继承Thead类来说,至少有如下几点好出:
     (1),同一资源可以被多个相同的程序代码的线程共享。
      (2),可以避免由于Java的单继承性带来的局限。
  线程的分类:前台线程和后台线程
  联合线程
  线程安全
   线程同步
    对象的锁旗标
  同步是以牺牲程序的性能为代价的
  同步分为 同步代码块和同步函数
  对于同步函数,由于他所使用的监视器对象是this,所以当有一个线程进入了synchronized修饰的方法*(获得监视器),其他线程就不能进入同一个对象的所有使用了synchronized修饰的方法,直到第一个线程执行完他所进入synchronized修饰的方法为止(离开监视器)。
   线程的死锁
线程的通信
  Java是通过Object类的wait,notify,notifyAll这几个方法来实现线程的通信的。

    17,String类有几个常用的函数:如equalsIgnoreCase indexOf substring

     18,要想成功的从HashTable中检索数据,用作关键字得对对象必须正确的覆盖了Object.hahCode方法和Object.equals方法。

    19,DataFormat类下的SimpleDateFormat类就相当于一个模板

 
本书主要是冲着实际应用而来的,共分11章。在刚开始的第一章就详细地讲解了Java开发环境的搭建、反编译工具的使用、JDK文档资料的查阅,Java程序的编译、运行过程。在第二章中,全面地讲解Java的基本语法知识,对基本语法的讲解也不是泛泛而谈,而是在其中贯穿各种实际应用中的巧妙用法和注意事项。在第三章和第四章中,透彻系统地讲解了面向对象的思想和应用。在以后的章节中,用通俗易懂的手法,紧密联系实际应用的方式,深入浅出地讲解了多线程,常用Java类,Java中的I/O(输入输出)编程,GUI与Applet,网络编程等方面的知识。 本书许多内容都来源于程序员圈子里的非正式交流,或源于某些成功的案例与作者的经验、心得,但这些东西对新手来说,是很难自学到的。作者从事了多年的软件开发和培训教学,非常清楚那些容易使新手困惑的问题,在学习过程中会碰到的拦路虎,作者结合了多年实际开发与教学经验,收集了众多学员在学习中常提到的问题,对平时讲课的内容进行了精心整理。读者从本书中不仅可以学习到Java本身方面的知识,还能学到了许多编程思想和实际操作手法,仿佛老手就在你面前进行现场演示一样。本书不仅全面的介绍了Java语言本身,最重要还交会读者去掌握编程思想,找到编程感觉,而不是死记硬背语言本身,书中涉及到的应用问题分析,远远超了一个Java程序员在学习和应用Java过程中所有可能碰到的问题。 本书不仅讲概念,讲怎么做,还告诉读者为什么;不仅讲操作技能,还贯穿一些系统的理论,这样读者才不至于不明不白,或是似乎明白,但不知道具体该怎么干。本书一步步引导读者深入,使读者轻松愉快、兴趣盎然、水到渠成、潜移默化地掌握Java编程及许多其他的软件开发思想。 本书语言流畅,内容翔实,分析透彻,是一本适合广大计算机编程爱好者的优秀读物。本书结构合理,图文并茂,实用性强,适合于广大有经验的开发人员来迅速转换到Java语言,对广大初学计算机编程语言的爱好者来说,这本书就是非常好的切入点。本书基本理论知识完备,又紧密联系实际开发,也非常适合作为大专院校师生的教学与学习用书,将给广大师生带来一种革命性的教学方式与学习思路,令人耳目一新。 这不是一本参考资料和Java百科全书,不是什么"宝典"和"大全",但却可以让新手变为老手,相信学完此书,再看任何以前看不懂的Java书都会显得非常轻松。即使是很有经验的老手,也能从本书中有巨大收益。如果你想非常轻松就精通Java编程,并期望学完便能参加实际的开发工作,本书就是你非常好的一个选择。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值