《Java核心技术精讲》读书笔记

《Java核心技术精讲》——李兴华著

目录:

一、Java基础知识

二、面向对象

三、Java SE基础知识

四、设计开发

 

《Java核心技术精讲》这本书以实战应用、就业实践为目的,拒绝纸上谈兵。书中很多内容都是非常有针对性,直接会抛出面试的常见问题,对于这些问题再做具体分析解释。但是它也是一本非常基础入门的书,书中的解释都是非常透彻易懂,会先从定义的层次先描述一遍,再用一些生活化的例子来解释具体含义,不像有些书就简单将概念提了一下。书中还善用对比,将容易混淆的相似概念进行解释,考虑十分周全。书中有许多分析图,将抽象的例子具体化,使得读者可以更好地理解。

下面我就从书本的前几部分,对于具有代表性的本书特色进行说明。

一、Java基础知识

1.Java简介

      1.1 Java概述

     Java语言在开发上分为Java SE、Java EE、Java ME三个方向,但不论是哪个技术,都是以Java SE基础作为支撑的。

     它是一种面向对象、简洁有效、具有可移植性、适合分布式计算、具有多线程处理能力、安全的解释型语言。

    1.2 JDK的安装与配置

     进行java的程序开发,必须有JDK的支持,需要登陆:www.orace.com进行下载。但是JDK安装完成之后,还需要对一些操作命令进行配置 ,主要为配置Path环境属性,具体操作如下:


(1)在“我的电脑”上单击鼠标右键,选择“属性”选项,之后出现一个对话框。

(2)选择“高级”选项卡,单击“环境变量”按钮。

(3)打开“环境变量”对话框,选择“系统变量”中的Path后,单击“编辑”按钮。

(4)将JDK的安装路径配置到Path属性之中,不同的Path之间使用“;”分隔。

(5)配置成功后,启动命令行方式(在“运行”界面输入cmd,或者直接使用快捷键ALT+R),输入javac,可以出现java配置成功界面。


此书从基础开始,用生动的语言详细介绍了Java吸引程序员们的特性,也具体介绍了最初是如何安装与配置JDK的,每一步的步骤都非常详细,还张贴了页面图片,对于新手来说是十分友好了。

   1.3 “Hello Wold”的实现

    Java程序分为两种类型:一种是Application程序,另一种是Applet程序,其中有main方法的程序主要都是前一种,后一种主要都用在网页上,所以书中介绍不多,我也不再多做记录。

   1.4 程序解释

类是Java中的基本组成元素,而所有的Java程序一定要被类所管理,类的格式一般为【[public]class 类名称{}】。类前面的两种形式分别为:

     ①public class 定义:类名称必须和文件名称保持一致,否则程序无法编译,在一个*.java之中只能有一个public class。

     ②class 定义:类名称可以和文件名不一致,但生成的是class定义的名称,在一个*.java之中可以有多个。

    作者会解释书中编写代码的方式,也时常会给出常见的面试题和具体答案的分析,非常具有实用性。

      1.5 CLASSPATH

        PATH:是操作系统的环境属性,指的是可以执行命令的程序路径。

        CLASSPATH:是所有*.class文件的执行路径,java命令执行时将利用此路径加载所需要的*.class文件。

    

    书中会对于一些不太容易理解的关系之间作出相应的解释。

   2.Java基础语法

     2.1 注释

    在任何编程语言中都会存在注释语法,注释的目的就是提高程序的可读性,还可以通过注释屏蔽掉一些暂时不用的语句。在Java中根据功能的不同,注释分为:


     √单行注释://;

     √多行注释:/*…*/;

     √文档注释:/**…*//。


   2.2 标识符和关键字

   Java中标识符的定义格式由字母、数字、_、$组成,其中不能重复,不能以数字开头,不能是java中的关键字。每个标识符最好都要有自己的意义,且定义标识符的时候是区分大小写的。

    对于一些需要注意的点都会额外注明,也时常会给出相应的建议,使得读者在之后的编码过程中可以更加熟练。

   2.3 数据类型

    数据类型在编程语言的构成要素里占有相当重要的地位。Java的数据类型可分为基本数据类型和引用数据类型两种。   

    Java的基本数据类型主要是以数值方式进行定义,这些基本数据类型的保存数据范围与默认值如下图所示。

   2.4 注意

    在编程时一定要保持良好的编程习惯,如在每个操作之间都加上“ ”(空格),所有的变量在使用之前一定要为其赋予默认值,否则在编译时会产生语法错误。(并且将具体的一句代码拆分开来具体说明)

 

    对于数据的转型操作,可分为自动转型和强制转型两种。


    √自动转型(由小到大):byte→short→int→long→float→double;

    √强制转型(由大到小):double→float→long→int→short→byte;


    Java中单引号“’”定义的内容就表示一个字符,定义时类型使用char。在Java语言中char和int之间是可以相互转换的。

(运算符较多且较为复杂,此处就不做张贴了,使用前一定要注意区分它们使用的结合性和优先级)

     2.5 程序结构

      一般来说,程序结构包含三种:顺序结构、选择结构、循环结构。   

      循环结构中分为(1)while和do…while(2)for 循环,但是这三种在实际工作中该如何选择呢?在开发中,while和for的使用次数较多,但while更多的是在不确定循环次数,但确定循环结束的条件下使用。For循环则是在确定循环次数的情况下使用。

      在循环执行的过程中,也可以打断循环的操作状态:break和continue,并且这两个语句都要结合if语句使用。(break只会跳出当前层的循环,continue可以强迫程序调到循环的起始处)

   2.6 方法

    方法的基本定义:方法在很多地方又称函数,是一段可以被重复调用的代码。

    方法的重载:指的是方法名称相同,参数类型或个数不同,调用的时候将会按照传递的参数类型和个数完成不同方法体的执行。

       方法重载时,只看方法名称、参数类型及个数,无需关注方法的返回值类型。下图是错误的重载。

    这里的、除了方法的返回值类型不一样外,其余全都相同,这种操作不符合方法重载的定义。方法重载的时候并没有规定出返回值类型必须统一,即重载的方法返回值类型可以不一样,但是从开发的角度而言,建议所有方法重载之后返回值类型统一。

       2.6 递归调用

    递归调用是一种特殊的调用形式,指的是自己调用自己,但递归调用必须要有结束条件且每次调用的时候都需要改变传递的参数。

    对于递归操作,在实际的工作中要尽量减少使用,使用不当容易造成内存溢出。

二、面向对象

3.面向对象

面向对象是整个Java的灵魂所在,也是现在最为流行的程序设计方法之一,在面向对象设计之前,广泛采用的是面向过程。

对于面向对象的程序设计有三个主要的特性:封装性、继承性和多态性。

3.1 面向对象简介

(3)多态性

多态是允许程序中出现重名的现象。Java语言中有方法重载和对象多态两种形式的多态。


方法重载:在一个类中,允许多个方法使用同一个名字,但方法的参数不同,完成的功能也不同。

对象多态:子类对象可以与父类对象进行相互的转换,而且根据其使用的子类的不同完成的功能也不同。


3.2 类与对象

(1)类与对象的基本概念

 类是抽象的概念集合。例如人就可以表示为一个类,而一个具体的同学如张三,就可以称为对象。这个人的姓名、年龄、性别等信息称为属性,人去吃饭、睡觉的行为称为方法。

对于一些比较难以理解的概念,作者会以通俗易懂生活化的解释进行描述,使得读者能够轻松理解。

(2)类与对象的定义

定义类需要使用class关键字,类中的属性实际上相当于一个变量。类定义完成后使用需要依靠对象,因为类属于引用数据类型,所以都需要用关键字new进行分配空间后才能使用。

实例化对象:类名称 对象名称 = new 类名称();

      (3)引用传递的初步深入

        引用传递是整个Java的精髓所在,它的核心在于:一块堆内存空间(保存对象的属性信息)可以同时被多个站内存所共同指向,则每一个占内存都可以修改同一块堆内存空间的属性值。

内存分析图:

作者善于用各种图片解释概念,十分直观。

3.3 封装性初步

      封装是为了将类中的属性私有化,加强安全性,,如果要访问类中的私有属性,需要按照如下定义操作(以“private String name”属性为例):


setter:public void setName(String n);

getter:public String getName();


3.4 构造方法

      构造方法发是在类中提供一个和类名称相同的方法,构造方法是在实例化对象时使用,而普通方法是在实例化对象产生后使用。  

书中给出了功能实现的具体代码,并加以详细的注释,使得读者可以更直观的理解概念。

总而言之,这本书还是很值得大家一读的。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值