Java编程思想读书笔记

合集下载

Java读书笔记

Java读书笔记

Java读书笔记第一篇:Java读书笔记读书笔记1、类和对象:类是用来定义一组对象共同具有的状态和行为的模版。

而对象是现实世界中个体或事物的抽象表示,并且封装了它们的属性和行为。

2、为了防止命名冲突,Java采用了管理类文件的机制,即类包机制。

(package)定义包名的语法格式:“package包名;”Java命名规则要求包的命名需要使用小写字母。

3、成员变量和成员方法:1成员变量是在类体中定义的变量即全局变量,○成员变量一般用于定义对象的状态。

成员变量是给对象使用的,每个对象被创建后都会有属于自己的属性,即成员变量。

通过修改这些属性,从而改变对象的某个状态。

2成员方法是对象行为的描述。

○定义成员方法的语法格式:“[修饰符] 返回值类型方法名([形参表]){······//方法体}”修饰符:可以是:publicprivateprotactedstaticfinall等;返回值类型:如果方法需要返回值,必须这里声明方法的返回值类型,可以是基本数据类型(int short double booleanvoid等),也可以是对象类型如:数组、字符串等。

形参表:(可选部分)说明方法被调用时应该向它传递的数据。

形参表可以有一个也可以有多个,当有多个形参时每个形参之间要用“,”隔开。

1创建对象:创建对象使用到new语句。

4、对象:○声明并创建对象的语法格式如下:“类名对象名=new 类构造方法()”构造方法:构造方法是类创建对象是必须执行的方法,用于构造一个新的对象并初始化对象属性。

2访问对象的属性:○语法格式:“对象名.属性”3执行对象的行为:○对象的行为就是对象的成员方法,通常说调用或执行对象的某个方法。

语法格式:“对象名.成员方法名();”4对象的销毁:Java提供了垃圾回收机制,对不再使用的对象会自动销毁,也可○以在程序中显式的为某个对象赋null值,使对象不再被使用。

java编程思想阅读总结——第一章

java编程思想阅读总结——第一章

java编程思想阅读总结——第⼀章java编程思想——读书笔记1⼀、对象导论——⾯向对象的编程语⾔1.1 类与对象类:可以理解为基于某⼀类特征的概念所创建的抽象数据类型,在java中“类”描述了具有相同特性(数据元素)和⾏为(功能)的对象集合。

⼀旦类被创建,就可以随⼼所欲的创建类的任意个对象,然后去操作他们。

java在类的内部设定边界——访问控制类只向外界暴露必需的部分,⽽隐藏的部分通常代表对象内部脆弱的部分,很容易被粗⼼的或者不知情的程序所毁坏,从⽽减少不必要的bug.public:表⽰其后元素对任何⼈都是可⽤的。

private:表⽰除类创建者和类中的内部⽅法之外任何⼈都不能访问。

protected:与private相当,区别在于继承的类何以访问protected成员,但不能访问private成员默认:类可以访问在同⼀包下的该类型成员,但是包外就与private⼀样对象:万物皆为对象,我们可以抽取待解决问题的任何概念化的构件,将其表⽰为程序中的对象。

⽽程序也就是对象的集合,他们通过发送消息(请求)来告知彼此需要做的事情。

每个对象都是某个类的⼀个实例,并且每⼀个对象都可以唯⼀的与其他对象区分开来,就是说每⼀个对象在内存中都有⼀个唯⼀的地址。

Java中通过new关键字来创建对象。

每个对象都可以看作是⼀个服务提供者,这也有助于提⾼对象的内聚性复⽤性实现——继承在创建⼀个类之后,为了解决存在新类与该类及其相似但还得重新创建⼀个类的情况,衍⽣了继承机制,我们可以通过添加和修改这个现有来创建新类,当源类(java中称基类、超类或⽗类)发⽣修改时,新类(java中称导出类,继承类或⼦类)也会跟着发⽣改变,⽽这个新类的创建的⽅法也就叫做继承,这进⼀步实现了代码的复⽤。

当然通过继承产⽣的类还可以将⽗类中的⽅法进⾏覆盖或者添加新的⽅法来实现⽐⽗类更多的功能。

多态在处理类型的层次结构时,经常想把⼀个对象不当作它所属的特定类型来对待,⽽实将其当作其基类对象来对待,就⽐如“三⾓形”,“正⽅形”,“圆形”都属于“⼏何形”,⽽此时我可以通过⼏何形这个基类对象去创建他所有的⼦类对象,⽽这也称为多态。

Java编程思想第四版 读书笔记

Java编程思想第四版 读书笔记

一基础知识点1.面向对象程序设计(Object-oriented Programming OOP),UML(Unitied Modelling Language 统一建模语言)。

将对象想像成“服务提供者”,它们看起来像什么?能够提供哪些服务?需要哪些对象?2.Java中动态绑定是默认行为。

Java采用动态内存分配方式,通过new操作在堆(Heap)的内存池中动态创建对象。

Java存储结构类型:1)寄存器2)堆栈,主要存储对象引用3)堆,主要用于存放所有的Java对象4)常量存储,也就是程序代码区5)非RAM存储,如流对象和持久化对象。

基本类型不用new来创建变量,而且这个变量直接存储”值”,并置于堆栈中。

3.BigInteger和BigDecimal的使用。

当变量作为类的成员使用时,Java才确保给定其默认初始值,但是在方法中定义的变量,它有可能是任意值。

面向对象的程序设计可以归纳为“向对象发送消息”。

关键字Static。

4.Javadoc只能为public和protected成员进行文档注释,但是也可以通过-private进行标记注释。

Javadoc常用方法:@see 引用其他类,{@ link package.class#member label},{@docRoot},{@inheritDoc},@version,@ author,@since,@param,@return,@throws,@deprecated。

5.整数除法会直接去掉结果的小数位。

基本类型的对象如果直接对它们赋值,对象指向同一个常量存储区,但是如果通过对象来初始化则会指向不同的堆的存储区。

如:String st1 = new String("A");String st2 = new String("A"); st1==st2 false String st1 = "A"; String st2 = "A"; st1==st2 true6.逻辑操作符:与(&&)、或(||)、非(!),其中与(&&)、或(||)会产生短路现象。

《Java编程思想》读书笔记

《Java编程思想》读书笔记

《Java编程思想》读书笔记前⾔这个⽉⼀直没更新,就是⼀直在读这本《Java编程思想》,这本书可以在Java业界被传神的⼀本书,⽆论谁谈起这本书都说好,不管这个⼈是否真的读过这本书,都说啊,这本书很好。

然后再看这边书的厚度,哇塞,厚的真的不⽌⼀点点,所以很多⼈看了没多久就放弃了,看不下去,但是基于它的厚度,就说,这是⼀本好书。

也有⼈说,看了没什么⽤的⼀本书,甚⾄还去嘲笑那些正在看的⼈,说还不如看点实际的技术。

那么在我的世界⾥,如果⼀本书没有读过,如果妄加评论的话,没有任何的意义。

所以我真的仔仔细细读了下来,书上也写了很多的笔记,但是我不会把它们都写下来,因为太多了。

不过,确实要把这么厚的书读薄,是真的不容易。

我想了很多种⽅式去记录我的读书笔记,但是最后都觉得不好,我觉得我的笔记应该有下⾯的⼏个作⽤。

1、作为⼀个线索,以后我⾃⼰能快速的回顾和查询。

2、已经知道的,不提及;不知道的,重点记录。

3、让即使没有看过的⼈也能知道⾥⾯到底有什么值得他们去看的。

所以最后我决定⽤⼀种提问的⽅式,或者是⼀种陈述的⽅式,来记录我的读书笔记,如果你能回答出下⾯的提问,或者能理解陈述的内容,那么证明书中的内容其实你已经了解。

如果回答不出,或者答案不清晰不确定,那么你可以⽹上去查询这个问题的答案,或者翻阅书籍。

下⾯就是我记录的所有笔记。

笔记部分1、什么是OOP?2、public、private、protected的权限3、什么是组合?什么是继承?4、Java内存的分配⽅式5、对象和对象的引⽤6、java虚拟机垃圾回收的基本策略;停⽌-复制;标记-清扫;7、控制对成员的访问权限是为了:让⽤户不要触碰他们不该触碰的部分,为了让类库的设计者可以更改类的内部⼯作⽅式8、组合和继承如何选择?9、final、static、和其对应⽅法和块加载和初始化的顺序10、多态的作⽤是消除类型之间的耦合关系,多态是⼀项让程序员:“将改变的事物与未边的事物分离开来”的技术。

Java编程思想读书笔记

Java编程思想读书笔记

Java编程思想读书笔记这是一份试图提纲挈领的读书笔记,《java编程思想》这本八百多页的书娓娓道来地包含了太多细节,这对读者是非常贴心的,我也强烈建议细细读这本书,如果你希望在短时间内学会java这种语言,那么这本书不是最好的选择,你可以看看谭浩强系列。

我把看这本书的过程中,个人觉得每一章中最重要的思想、用整理在这里,希望自己回顾的时候有所参照和提高。

也希望大家带着同样的目的来看本篇读书笔记。

第一章对象导论比起过程型语言编写的程序,用面向对象语言编写的程序更加简单、易于理解、可复用。

《c++编程思想》里也有这一章,是一个抛砖引自己的玉的章节,不明白可以跳过,回头再看。

第二章一切都是对象java语言里面,一切都是对象,并且程序员是通过引用来操纵对象。

一个简单的例子,非常轻松地让读者进入java 的世界。

需要注意的是java数据会储存在5个不同的地方:寄存器、堆栈、堆、常量存储、非ram存储,用new创建的一般对象都放在堆中,而特殊的基本对象放在堆栈中,如果想把基本对象也放在堆中,需要包装基本类型。

第三章操作符java中的操作符语法类似于c,所以学习起来一点困难也没有。

要特别注意两个比较大的整数相加或者相乘的时候的溢出问题,用long或者biginteger解决这个问题。

第四章控制执行流程我想起《pointer on c》这本书第一章就有这一句话,本书适合那些希望迅速学习一门新语言而不是被“为什么if 和for很重要”的弱智问题耽搁进度的读者。

呵呵,这一章很不厌其烦地介绍了运算、操作符优先级、类型转换、选择循环等基本特性,有c或者c++编程经验的读者可以大概浏览一下。

第五章初始化和清理关于初始化:1.初始化很重要,一定不要忘记。

而且java编译器会很好的防止使用未初始化数据的意外,这是比c和c++更优的地方。

2.编译器初始化的顺序为:a.类首次加载的时候,有关静态初始化的所有动作都会执行。

a1.类的加载包括首次创建该类型的对象,或者该类的静态方法/静态域首次被访问a2.静态域的初始化在一切初始化之前,即静态变量散布在代码不同的地方,它们也会在任何方法(包括构造器)调用之前被初始化b.当用new calssname 创建对象的时候,会在堆上开辟足够的存储空间,这块存储空间被清零,然后执行字段的初始化动作。

java编程思想读后感

java编程思想读后感

java编程思想读后感我最近读了一本著名的编程书籍《Java编程思想》,在阅读过程中我深深地感受到了它对我的帮助和启迪。

这本书系统地介绍了Java编程的核心思想和技巧,让我对Java编程有了更深入的理解。

在这篇读后感中,我将分享我对《Java编程思想》的一些看法和体会。

首先,我被书中对Java编程思维的深刻阐述所惊艳。

作者以通俗易懂的语言,深入浅出地介绍了面向对象编程的概念和原则。

通过具体的例子和案例分析,我对Java中的类、对象、继承、多态等关键概念有了更清晰的认识。

这本书不只是教我如何编写Java代码,更是教我如何运用面向对象的思维方式来解决问题。

通过学习这种思维方式,我能够更好地组织和管理代码,使我的程序更加清晰和易于维护。

其次,书中对Java语法和特性的全面介绍,使我对Java语言有了更深刻的认识。

从基础的数据类型、流程控制到高级的异常处理、多线程编程,作者逐一详细地讲解了Java的各种语法和特性。

我通过阅读书中的例子和练习,不断加深对Java语言的理解和掌握。

同时,书中还提供了许多实用的编程技巧和经验,这些经验对我提高编程效率和代码质量大有裨益。

另外,我还被书中对设计模式和重构技巧的介绍所启发。

作者对常用设计模式进行了详细的讲解和实例演示,让我学会了如何将抽象的设计思想转化为具体的编码实现。

同时,书中还提到了一些常见的代码坏味道和重构方法,这对我改善现有代码的质量和可维护性非常有帮助。

通过学习这些设计模式和重构技巧,我能够更好地组织和优化我的代码,使其更具可读性和可扩展性。

最后,我想说的是,《Java编程思想》不仅仅是一本教我们如何编写Java程序的书籍,更是一本教我们如何成为优秀程序员的指南。

在这本书中,作者不仅分享了他的编程经验和思考,还给出了很多学习和提升的建议。

他强调编程是一种艺术和技能的结合,需要不断学习和实践。

同时,他还激励我们要有创造力和耐心,在遇到问题和困难时要保持乐观和积极的态度。

java编程思想读书笔记

java编程思想读书笔记

java编程思想读书笔记java编程思想读书笔记【篇一:java编程思想学习笔记】《java编程思想》学习笔记1——面向对象和jvm基础1.java中的4种访问制权限:(1).public:最大访问控制权限,对所有的类都可见。

(2).protect:同一包可见,不在同一个包的所有子类也可见。

(3).default:包访问权限,即同一个包中的类可以可见。

默认不显式指定访问控制权限时就是default包访问控制权限。

(4).private:最严格俄访问控制权限,仅该类本身可见,对外一切类都不可以访问(反射机制可以访问)。

2.面向对象编程中两种对象组合方式——is-a 和 has-a:(1).is-a组合:一个类继承具有相似功能的另一个类,根据需要在所继承的类基础上进行扩展。

优点:具有共同属性和方法的类可以将共享信息抽象到父类中,增强代码复用性,同时也是多态的基础。

缺点:子类中扩展的部分对父类不可见,另外如果共性比较少的时候使用继承会增加冗余代码。

(2).has-a组合:has-a组合是在一个类中引用另一个类作为其成员变量。

优点:可扩展性和灵活性高。

在对象组合关系中应优先考虑has-a 组合关系。

缺点:具有共性的类之间看不到派生关系。

3.多态:在面向对象编程中,子类中拥有和父类相同方法签名的方法称为子类方法覆盖父类方法,当调用子类方法的某个操作时,不必明确知道子类的具体类型,只需要将子类类型看作是父类的引用调用其操作方法,在运行时,jvm会根据引用对象的具体子类类型而调用应该的方法,这就是多态。

多态的基础是java面向对象编程的晚绑定机制。

编程中有如下两种绑定机制:(1).早绑定:一般在非面向对象编程语言中使用,在程序编译时即计算出具体调用方法体的内存地址。

(2).晚绑定:面向对象编程语言中经常使用,在程序编译时无法计算出具体调用方法体的内存地址,只进行方法参数类型和返回值类型的校验,在运行时才能确定具体要调用方法体的内存地址。

java编程思想读后感

java编程思想读后感

java编程思想读后感《Java 编程思想读后感》在接触《Java 编程思想》这本书之前,我对编程的理解还停留在一知半解的状态。

就好像在黑暗中摸索,偶尔能碰到点边边角角,但始终看不清楚全貌。

当我真正翻开这本书,就像是打开了一扇通往全新世界的大门。

这个世界充满了逻辑、规则和无限可能。

书中对于 Java 基础知识的讲解,那叫一个详细。

从最基础的变量、数据类型,到复杂一些的面向对象编程的概念,比如封装、继承和多态,每一个知识点都像是一位耐心的老师,一点点地给你剖析,生怕你听不懂。

比如说讲到面向对象编程中的封装,它不是简单地告诉你“把数据和方法装在一个盒子里”,而是通过实际的代码示例,让你看到如何将一个现实中的事物,比如一辆汽车,抽象成一个类。

汽车的各种属性,像颜色、型号、速度,还有它的行为,比如启动、加速、刹车,都被合理地封装在这个类里面。

这让我一下子就明白了封装的意义和作用,不再是死记硬背那些生硬的概念。

还有继承和多态,这两个概念一开始真的让我头疼。

但是书里通过一个个生动的例子,让我逐渐理解了其中的奥妙。

就好像一个家族的传承,父辈有的东西,子辈可以继承并且发展。

而多态就像是同一个家族里,不同的人在不同的场合表现出不同的特点,但又有着共同的家族基因。

在阅读的过程中,我也遇到了不少困难。

有时候一个概念怎么都想不明白,代码怎么写都出错。

记得有一次,我在学习线程同步的时候,被那个“锁”的概念给困住了。

我反复看书中的解释,自己写代码试验,可就是搞不清楚为什么有时候线程会出现死锁的情况。

那几天,我简直是茶不思饭不想,满脑子都是那些代码和概念。

我就不信这个邪,开始在网上搜索相关的资料,看各种论坛里的讨论。

还别说,真让我找到了一些有用的信息。

结合着书里的知识和网上的经验,我终于弄明白了线程同步的原理,成功地解决了代码中的问题。

那一刻,心里的那种成就感,真的是无法用言语来形容。

除了知识的讲解,书中的代码示例也非常实用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java编程思想读书笔记
Java编程思想读书笔记
这是一份试图提纲挈领的读书笔记,《java编程思想》这本八百多页的书娓娓道来地包含了太多细节,这对读者是非常贴心的,我也强烈建议细细读这本书,如果你希望在短时间内学会java这种语言,那么这本书不是最好的选择,你可以看看谭浩强系列。

我把看这本书的过程当中,个人觉得每一章中最重要的思想、用整理在这里,希望自己回顾的时候有所参照和提高。

也希望大家带着同样的目的来看本篇读书笔记。

第一章对象导论比起过程型语言编写的程序,用面向对象语言编写的程序更加简单、易于理解、可复用。

《c++编程思想》里也有这一章,是一个抛砖引自己的玉的章节,不明白可以跳过,回头再看。

第二章一切都是对象 java语言里面,一切都是对象,并且程序员是通过引用来操纵对象。

一个简单的例子,非常轻松地让读者进入java的世界。

需要注意的是java数据会储存在5个不同的地方:
寄存器、堆栈、堆、常量存储、非ram存储,用new创建的一般对象都放在堆中,而特殊的基本对象放在堆栈中,如果想把基本对象也放在堆中,需要包装基本类型。

第三章操作符 java中的操作符语法类似于c,所以学习起来一点困难也没有。

要特别注意两个比较大的整数相加或者相乘的时候的溢出问题,用long或者biginteger解决这个问题。

第四章控制执行流程我想起《pointer on c》这本书第一章就有这一句话,本书适合那些希望迅速学习一门新语言而不是被“为什么if和for很重要”的弱智问题耽搁进度的读者。

呵呵,这一
章很不厌其烦地介绍了运算、操作符优先级、类型转换、选择循环等基本特性,有c或者c++编程经验的读者可以大概浏览一下。

第五章初始化和清理关于初始化:
1。

初始化很重要,一定不要忘记。

而且java编译器会很好的防止使用未初始化数据的意外,这是比c和c++更优的地方。

2。

编译器初始化的顺序为:
a。

类首次加载的时候,有关静态初始化的所有动作都会执行。

a1。

类的加载包括首次创建该类型的对象,或者该类的静态方法/静态域首次被访问 a2。

静态域的初始化在一切初始化之前,即静态变量散布在代码不同的地方,它们也会在任何方法(包括构造器)调用之前被初始化 b。

当用new calssname创建对象的时候,会在堆上开辟足够的存储空间,这块存储空间被清零,然后执行字段的初始化动作。

(这里的字段初始化都是非静态的,因为静态的变量已经在a中执行完毕,而且静态变量存储在不同的地方,静态数据只占用一份存储空间) c。

执行构造器关于清理 c++关于清理的部分包含很大不确定性。

目前需要知道的事情是,正常情况下,我们是不需要调用
finalize方法的,而且垃圾回收区会自动回收不再使用的对象,同时我们需要自己注意一些需要关闭的文件。

需要注意的是,用=对数组进行“赋值”的时候,实际上是引用的传递,就是说,二者指向同一堆。

第六章访问权限控制关于包你应该有一个自己的域名,这样发布你的java程序的时候,就可以将你的包名设置为你的域名倒转。

想要正确让包工作,要正确设置classpath,对于新手来说,这的确是一个挑战。

我当初就难到了。

关于访问权限修饰词值得注意的是,如果两个编译单元放在同一个目录下并且都没有设置包名的话,他们对
于对方都是拥有包访问权限的。

访问权限修饰词是修饰方法和数据,而不是类。

类只有两种访问权限,包访问权限或public访问权限。

默认为包访问权限。

如果不希望其它任何人对该类拥有访问权限,可以把所有的构造器设置为private。

但是有一个例外,可以通过该类自己的static成员内部创建(于是就有了工厂设计模式和单例设计模式)。

第七章复用类有三种方法复用类:
组合,继承,代理。

组合即是在新的类里面放上已经定义的类的对象,然后通过调用它的方法来实现自己的功能。

继承是通过extends关键词继承某一父类,这样就能访问父类的所有public方法(因此为了继承,一般的规则是将父类的所有数据成员都指定为private,将所有的方法都指定为public)。

子类的初始化需要注意的是,(当创建了一个子类的对象时,该对象包含一个基类的子对象)java会在子类的构造器中插入对基类默认构造器的调用。

但是如果没有默认的基类构造器,或者想调用一个带参数的基类构造器,就必须用关键词super显式地编写调用基类构造器的语句,并且配上适当的参数列表。

附送:
JSP程序设计课程教学心得体会
JSP程序设计课程教学心得体会
高等职业院校是以培养高素质、技能型专门人才为主线。

一个合格的高职学生,除了具备本专业的理论知识之外,更注重培养学生职业技术应用能力。

《JSP程序设计》是计算机信息管理软件编程专业开
设的一门专业必修课程,是一门动手实践能力和逻辑分析能力要求比较高、与实际岗位关系比较紧密的专业技能课程,是培养基于java技术web程序员的主要支撑课程。

一、教学内容设计
(一)课程设计的理念与思路
1、教学理念
《JSP程序设计》课程对课程开发模式有较深入的研究,对以能力为本位、以学生为中心、以就业为导向、以职业生涯发展为目标、以典型实例为载体设计教学环节的教学理念理解透彻,教学理念与时俱进、不断更新、形成了以下的教学理念:
a、以职业生涯发展为目标-确定课程目标
《JSP程序设计》是培养学生基于java方向的Web开发能力的课程,通过该课程的学习学生能够胜于web程序员的岗位,学生通过学习完本课程可以应用jsp+javabean+Servlet进行动态网站设计与制作以及信息管理系统的设计与制作,同时要求培养学生的团队合作精神以及分析问题、解决问题的能力。

b、以典型实例为载体-设计教学环节
通过真实的项目案例和项目任务的双线教学方式,符合高职高专学生的认知特点。

学生的认知从抽象到具体,由老师手把手引导到由老师放开手辅导;以当今动态网站和管理系统中的典型功能模块为知识点设计教学环节,建立真实的功能模块与专业知识点和专业技能的联系,增强学生的直观体验、激发学生的学习兴趣、方便学生理解与掌握。

2、教学思路
《JSP程序设计》的教学思路是根据软件开发市场、软件企业、行业对java web程序员的需求情况确定了 web程序员为职业岗位培养目标,根据WEB程序员的岗位能力标准制订《JSP程序设计》的课程标准,然后进行教材和参考书的选取,在教学实施过程中通过理论实践一体化的教学模式,通过任务驱动法、演示模仿法、模块教学法达到预期的课程目标,培养WEB程序员应具备的能力。

(二)教学内容总体设计
按照职业能力由单一到综合、由简单到复杂的培养规律,根据课程内容的重构,我把《JSP程序设计》这门课程的教学内容主要分为六大模块的内容,然后我又把这六大模块分解为15个教学单元、3个单元实践和1个综合实训。

相关文档
最新文档