20145212 《Java程序设计》第3周学习总结
20145212 《Java程序设计》第3周学习总结
教材学习内容总结
教材第四章知识点总结
- 面向对象和面向过程:
面向对象是相对面向过程而言的,面向过程强调的是功能行为,面向对象是将过程封装进对象,强调具备了功能的对象,面向对象是基于面向过程的。
- 面向对象的三个特征:
封装,继承,多态;
对象的使用:
1.找对象;
2.建立对象;
3.使用对象;
4.维护对象的关系.对象与类的关系:
要产生对象必须先定义类,类是对象的设计图,对象是类的实例。
映射到Java中,具体对象就是对应Java在堆内存中用new建立的实体。每个对象都由“类”定义。类描述对象的变量、属性、过程和事件。
- 有关字符串:在Java中,字符串本质是打包字符数组的对象,字符串具有之前讨论过的对象操作特性,也有一些自身的特性。
教材第五章知识点总结
- 构造函数实现对象初始化流程的封装。封装的主要目的就是隐藏对象细节,将对象当做黑箱进行操作。
- 创建对象时,数据成员会初始化,如果没有指定初始值,则会使用默认值初始化。
- 定义类时如果没有构造任何函数,编译程序会自动加入一个无参数、内容为空的构造函数,成为默认构造函数。
- 被声明为static 的成员,不会让各别对象拥有,而是属于类。
- import static语法的使用中要注意名称冲突问题,解析方式如下:
1.局部变量覆盖:选用方法中的同名变量;
2.成员覆盖:选用类中定义的同名数据成员、方法名称;
3.重载方法比较:使用import static的各个静态成员,若有同名冲突,尝试通过重载判断。
- Java领域中,有许多良好的命名习惯,这些习惯虽然说影响不到程序的运行,却与程序的沟通和维护息息相关,这一点中和C语言一样,我们要学习良好的命名习惯,尽量让程序简洁美观,一目了然。
教材学习中的问题和解决过程
1.这两章的内容总体来说比较抽象,我一开始没有看视频只是看书,看了好几遍都不知所云,幸好毕向东老师在这一块用了大量的篇幅对对象、类等概念进行了详细的解释,举了几个例子(比如把冰箱视为对象),终于让我成功的步入了这一章的大门。
2.在学习的一开始,我出现了一个认识上的误区,总觉得对象和函数很类似,都是一个实现功能的模块,可是随着认识的深入,结合毕向东老师的视频中对对象的详细解释,我发现这个想法真的大错特错:对象是类的实例。创建了一个类后,可以创建所需的任意数量的对象。而函数只能说是一个方法,可以说,对象中包含着远比函数要多的概念。
一些需要注意的小片段:
- 内部类:
我们可以在类中再定义类,即称为内部类。内部类可以定义在类区块之中,本身可以存取外部类的成员,外部不用知道内部类的存在。
- 传值调用:
在一些程序语言中,调用方法传递自变量给参数时,可以有传值调用或者传参调用的方式,而Java中只有传值调用。
- 传值调用代码实例:
package 传值调用;
public class 传值调用 {
public static void main(String[] args) {
Customer c1=new Customr("Justin");
some(c1);
System.out.println(c1.name);
Customer c2=new Customer("Justin");
other(c2);
System.out.println(c2.name);
}
static void some(Customer c){
c.name ="John";
}
static void other(Customer c){
c=new Customer("Bill");
}
class Customer{
String name;
Customer(String name){
this.name=name;
}
}
- this的使用:
除了被声明为static的地方外,this关键字可以出现在类中任何地方,在对象建立后为“这个对象”的参考名称。在构造函数参数与对象数据成员同名时,可以用this加以区别。
- 有关this关键字的例子(java程序片段)
public CashCard(String number,int balance,int bonus){
this.number=number;//参数number指定给这个对象的number
this.balance=balance;//参数balance指定给这个对象的balance
this.bonus=bonus;//参数bonus指定给这个对象的bonus
}
代码调试中的问题和解决过程
第四章
1.关于java.math.BigDecimal的使用:

2.基本类型的打包案例:

3.数组的基础使用:

4.二维数组的使用:

5.二维数组中的不规则数组案例:

6.字符串对象及基础使用:

第五章
1.封装对象操作流程:

2.封装对象内部数据:

3.使用this:

4.传值调用:

其他(感悟、思考等,可选)
代码托管情况:

有关于第四第五章的学习比起之前似乎直接上升了一个层次,在此之前我对Java的学习还仅仅是在C语言基础知识之上进行一些改变,只会一些基本的操作和编译一些再简单不过的小程序,但是学习了对象这个概念之后,就开始逐渐的看到了属于Java独有的一些特色。
这一次的学习依旧有不少代码是根据书上的代码编的,改动的地方也不大,由于类和对象第一次接触起来还不是很熟悉,我只能通过这种方式慢慢在写代码的同时去了解、学习,我会尝试着编写课后的题目,脱离书上的代码,学会自己创建对象解决问题。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 200/200 | 2/2 | 20/20 | |
| 第二周 | 300/300 | 3/4 | 16/38 | |
| 第三周 | 400/500 | 4/7 | 22/60 |
参考资料
20145212 《Java程序设计》第3周学习总结的更多相关文章
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
- 《Java程序设计》第二周学习总结
20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...
随机推荐
- [转]Mybatis出现:无效的列类型: 1111 错误
原文地址:http://www.cnblogs.com/sdjnzqr/p/4304874.html 在使用Mybatis时,不同的xml配置文件,有的会提示:无效的列类型: 1111 比如这个sql ...
- eclipse安装ADT
ADT安卓开发工具安装 ADT(Android Development Tools)安卓开发工具,是安卓在Eclipse IDE环境中的开发工具,为Android开发提供开发工具的升级或者变更,简单理 ...
- 【POJ 1981 】Circle and Points
当两个点距离小于直径时,由它们为弦确定的一个单位圆(虽然有两个圆,但是想一想知道只算一个就可以)来计算覆盖多少点. #include <cstdio> #include <cmath ...
- MySQL必知必会的查询
前言: 据身边不少朋友反映,SQL长时间不用的话难免会生疏!本文的几个查询示例可以让你5分钟内快速回忆起MySQL中常用的基础查询语法! ------------ 如何用MySQL解决一些常见问题的例 ...
- 细说new与malloc的10点区别
前言 几个星期前去面试C++研发的实习岗位,面试官问了个问题: new与malloc有什么区别? 这是个老生常谈的问题.当时我回答new从自由存储区上分配内存,malloc从堆上分配内存:new/de ...
- python3 报错集合
1.格式 message = "GET / HTTP/1.1\r\n\r\n" s.sendall(message) TypeError: 'str' does not suppo ...
- [bzoj4551][Tjoi2016][Heoi2016]树
Description 在2016年,佳媛姐姐刚刚学习了树,非常开心. 现在她想解决这样一个问题:给定一颗有根树(根为1),有以下两种操作: 1. 标记操作:对某个结点打上标记(在最开始,只有结点1有 ...
- 【BZOJ-4435】Juice Junctions 最小割树(分治+最小割)+Hash
4435: [Cerc2015]Juice Junctions Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 20 Solved: 11[Submi ...
- C#中的斜变性和逆变性的详解
1,问题 大家可以看到定义泛型类型的可以看到out和in这两个关键字,那么具体代表什么意思呢? 2,文字解释 C# 4.0通过两个关键字:out和in来分别支持以协变和逆变的方式使用泛型. 如果某个返 ...
- 什么是RFC
通俗的话来说,RFC是关于Internet的几乎所有重要的文字资料,相当于一个Internet的标准. 下面是查询网址:http://www.rfcreader.com/ 一下为百科定义: http: ...