网站推广报告,潍坊网站建设培训班,房屋网签查询系统官方网站,北京网站建设找降龙20145335郝昊 《Java程序设计》第3周学习总结 教材学习内容总结 第四章 类与对象 定义#xff1a; 对象#xff08;Object#xff09;#xff1a;存在的具体实体#xff0c;具有明确的状态和行为。 类#xff08;Class#xff09;:具有相同属性和行为的一组对象的集合 对象Object存在的具体实体具有明确的状态和行为。 类Class:具有相同属性和行为的一组对象的集合用于组合各个对象所共有操作和属性的一种机制。 -关系 从类看对象类定义可视为具有类似性质与共同行为的对象的模板用来产生对象。 从对象看类类的产生是实例推广到大量相似实例的抽象化过程。 二者的关系类是对象的设计图对象是类的实例生成对象要先定义类。 特点 与c语言不同在java中需要的功能就可以去找一个对象这个对象就包含这个功能通过new建立对象通过“文件名.功能”调用一些该类的功能。在编译过程中可以定义类。回忆第二章一个原始码中可以有多个类定义但只能有一个是公开类且文档中的主文档名必须与公开类名称相同。可以使用标准类类似于java.until.Scanner和java.math.BigDecimal,分别可以作为输入函数和高精度的计算函数其中BigDecimal中可以引用plus、substract、multiply、divide等。注意“”和“”的区别。“”比较两个变量储存的值是否相同也就是所绑的对象对象类型。“”是指将值赋给变量比较的是内含值具体数值相当于a.equals。数组对象 概念 数组在java语言中就是对象。 特点 在定义数组时候不论知不知道数组长度都可以进行。如果知道具体数可以采用p95不知道具体的数可以采用p98。因为数组是对象需要注意性质对于数组本身来说不能超过其索引范围否则会报错。对于二维数组的本质实在数组的基础对于每个元素再建立一个数组就像矩阵一样对于数组复制的相关有两种方法采用System.arraycopy()和Arrays.copyOf()上一条就是简单的浅层复制而对于深层复制则需要自己操作需要自己自行完成复制元素。基本类型打包器 概念 在java中把一些基本类型变量打包成对象之中这样就 可以像操作对象操作原本的“基本类型”的变量 特点 重点要在于理解把固有的“面向过程”转换成“面向对象”这样对象可以提供许多功能简化我们的编程。在对于自动装箱、自动拆箱可以简便的建立对象注意类似于Integer类型的有默认值在编译的时候需要注意。字符串对象 概念 在java中字符串本质是打包字符数组的对象是java.lang.String. 特点 通过一些如Byte.parseByte(number)等方法将字符串转换为整数、浮点数等基本类型。在字符串池以 包括的字符串内容相同无论在源代码中出现几次JVM都只建立一个String实例都在字符串池中维护。利用连接字符串会产生新的String实例。使用javac指令没有指定-encoding选项时候会使用操作系统默认编码。查询API文件 方法 通过java官方网站直接通过搜索引擎搜索对应的类就会显示文件的说明了。还可以在windows下载CHM格式的javaAPI。第五章 何谓封装 概念 分装实际上使用方法将类的数据隐藏起来控制用户对类的修改和访问数据的程度仅对外提供公共访问方式隐藏对象细节将对象当作黑箱进行操作。 特点 自己可以定义类创建属性方法如果其它需要用到相应的功能只需要拿着“类设计图” 设计一个对象实例再根据公开提供的提供的方法就可以使用相应的功能。封装对象类似于c语言中的模块化编程在java中做到了一类一文件而且在java中更灵活方便。可以像书中提到的使用private对关键信息进行隐藏设置访问数据的程度防止用户恶意使用。语法细节 public 用在类前表示的这个类是公开类这样就可以在其他包的类中使用。用在方法前这样就表示其它包中的方法可以直接调用这个方法。这里需要注意的是如果类上没有声明public关键字类中的方法就算是public也等于是包权限了因为类本身是包权限其它包就根本无法使用类更别说当中定义的方法。用在函数前这表示其它包中的类可以直接调用这个构造函数。用在成员变量前表示这个成员变量是公开的这样别人可以直接调取你类中的变量。 private 用在成员变量前这是一种保护机制不让自己这个类以外的方法去随便使用存取这个类的数据可以保护私有数据只能通过调用自己类的方法去操纵这些数据这样会很安全。也可以用在方法或构造函数声明上一般用在内部声明类中 方法重载 根据自己的理解重载就好比是用相同的词表达多种不同的含义。只要参数类型和个数不同就可以定义多个构造函数可用一致的名称来调用类似功能的方法。与返回值无关构造函数不一定关心它的返回值可能只是想利用其中的某个功能。 this与super this关键字可以出现在类中的任何地方在对象建立后为“这个对象”的参考名称。但是在被声明为static的地方不能这样使用。super一般用在父类中指代父类对象的参考名称。 final 用在类前表明这个类不能被继承。也就是说如果一个类你永远不会让他被继承就可以用final进行修饰用在方法前使用final方法的原因有两个第一个原因是把方法锁定以防任何继承类修改它的含义第二个原因是效率。用在成员变量前修饰变量是final用得最多的地方 注意 在使用final修饰类的时候要注意谨慎选择除非这个类真的在以后不会用来继承或者出于安全的考虑尽量不要将类设计为final类。因此如果只有在想明确禁止 该方法在子类中被覆盖的情况下才将方法设置为final的。注类的private方法会隐式地被指定为final方法。对于一个final变量如果是基本数据类型的变量则其数值一旦在初始化之后便不能更改如果是引用类型的变量则在对其初始化之后便不能再让其指向另一个对象。 static所有对象公有的 static用于修饰成员变量和成员函数访问惯例类名.static成员注意由于static成员是属于类而非个别对象所以在static成员中使用this会是一种语意上的错误。 import static 与import一样这样做是为了偷懒但要注意名称冲突的问题。 变长参数 在调用方法时如果自变量的个数事先无法决定则可以在声明参数列时在关键字后加上...实际上不定长度自变量是编译程序蜜糖。 内部类 可以在内中再定义类内部类亦可以使用public、protected、private声明。一个被声明为static的内部类通常是将外部类当作名称空间。 教材学习中的问题和解决过程 第四章 在学习第四章的时候首先对于最开始的类与对象的关系有着很大的漏洞因为如果搞不清楚这两者在对于第四章第五章学习的会非常困难后来看了老师的学习指导后发现要把握住java语言是面向对象。当这样后就了解了许多大概也就了解colorthis.color等。 后来不太了解对于java基本的打包的意义不太理解后来发现我们目前所编译的只是一些简单的程序不存在很大的问题对于是否打包没有很大的作用但是如果用java语言去创造一个软件的时候就需要用到打包等知识这样很方方便程序员对程序的修改和设计。 还有对于本章出现的增强式for语法在开始看书的时候不太了解后来用eclipse编译了几遍后了解了一些后来发现好像记住增强式for语法似乎容易一些。 还有本章的一个问题如何判断建立了几个Iteger实例还是很分不清楚后来采用书上的方法对于不懂得程序采用画图法这样很清楚就判断出结果。 第五章 在学习也只是简单的了解了他的概念但是深层次却不太懂后来看了视频以后就有所了了解自己可以定义类创建属性方法如果其它需要用到相应的功能只需要拿着“类设计图” 设计一个对象实例再根据公开提供的提供的方法就可以使用相应的功能。 封装对象类似于c语言中的模块化编程在java中做到了一类一文件而且在java中更灵活方便。就是隐藏对象细节将对象做黑箱操作 在细节语法细节中对于一些public、private、this与super等在前四章的代码学习中都有用过但是了解的却不是很详细学完第五章后就很系统的了解了。但是对于final存在着知识欠缺通过看java学习视频也学习到了很多 在使用final修饰类的时候要注意谨慎选择除非这个类真的在以后不会用来继承或者出于安全的考虑尽量不要将类设计为final类于一个final变量如果是基本数据类型的变量则其数值一旦在初始化之后便不能更改如果是引用类型的变量则在对其初始化之后便不能再让其指向另一个对象。 代码调试中的问题和解决过程 其中在于操作数组中对于二维数组的理解还欠缺一些后来将其理解成一维数组每个元素在索引一个数组就方便了理解。 同样在第五章有个知识点在创建对象之后、调用函数之前若有想执行的流程可以使用{}定义。 剩下的所有代码也全部敲了一遍有了全新的认识已经全部传到了开源中国代码托管里了。 其他感悟、思考等可选 其实感觉这周的学习量挺大的要自学两个章节而且都是比较陌生抽象难懂的知识接受起来比较慢。 从最开始的java平台概论JDK到IDE的介绍基础语法的运用到现在的类与对象封装。前三章的知识其实都不是特别难。但到第四章就感觉逐渐接触java程序设计的核心知识了。在经过不断的重复后我对这两章的知识点已经掌握了把书上所有的代码都敲了一遍世上无难事是怕有心人。任何事情万事开头难但只要坚持下来了一定会受益匪浅比如托管代码最开始觉得很难学会了后就会很轻松。 学习第四章第五章最重要的是要有能将抽象问题具体化的能力将其建立成一个模型这样才能方便理解。 在写博客方面也在娄老师上周的指导下这周写完博客认真的修改了一遍希望还可以有提高。 学习进度条 代码行数新增/累积 博客量新增/累积 学习时间新增/累积 重要成长 目标 3500行 28篇 300小时 第一周 200/200 1/1 10/10 第二周 300/500 1/2 20/30 第三周 300/800 1/3 20/50 第四周 第五周 参考资料 Java学习笔记(第8版)《Java学习笔记(第8版)》学习指导...转载于:https://www.cnblogs.com/20145335hh/p/5298955.html