20145209 2016-2017-2 《Java程序设计》第3周学习总结
20145209 2016-2017-2 《Java程序设计》第3周学习总结
教材学习内容总结
1.构造方法决定类生成对象的方式
用this将已存在的参数的值指定给此参数。
用new建立新的实例。
class Clothes {
String color;
char size;
new Clothes(String color,char size){
this.color = color;
this.size = size;
}
}
在上述的例子中,new建立了一个新的Clothes实例,相当于是C语言中的结构体。用this.将color和size参数的值指定给color和size参数,简单来说,string类型的color和char类型的size参数在设定时是不带值的,要用this.将数据color和size指定给color这个参数和size这个参数。有的时候,加上this是为了区分同名的参数和数据成员。
2. 打包器
自动装箱
Integer wrapper = 10;
自动拆箱
int foo = wrapper;
所谓装箱、拆箱,其实就是数据储存中对空间的占有。装箱即数据存入地址之后参与运算,这期间地址中的数不会发生改变,也就是只读的状态;拆箱就类似与改变文件的只读模式,可以改变地址中的值,或者说这个值从地址中被拆走,改变的值重新存入原来的地址。如运算时的自动装箱与拆箱。
Integer i = 10;
System.out.println(i+10);
System.out.println(i++);
运算时,先对i拆箱,进行加法运算之后再自动装箱。
3. 浅拷贝与深拷贝
在有指针的情况下,浅拷贝只是增加了一个指针指向已经存在的内存,而深拷贝就是增加一个指针并且申请一个新的内存,使这个增加的指针指向这个新的内存。也就是说,浅拷贝是用的已存在的内存,深拷贝是新建一个内存再把东西拷到新的内存里,后者在释放内存的时候不会出现释放同一内存的错误。
4. 封装与SRP原则
封装(Encapsulation)实际上使用方法(Method)将类的数据隐藏起来,控制用户对类的修改和访问数据的程度,隐藏对象细节,将对象当作黑箱进行操作
封装就是将一个函数打包,不让其他用户看到其中的细节,但可以调用其中的对象进行操作。书上上说道:“在说明案例的时候,都会假设两个以上的开发者”,将函数进行封装也便于合作伙伴之间的交流。封装的主要目的是隐藏细节,用户调用封装中的函数,却不了解函数的细节,这对保护私有数据很重要。
SRP原则即单一职责原则:
决不要有一个以上的理由修改一个类。
对象提供单一职责的高度封装,对象的改变仅仅依赖于单一职责的改变。
也就是说,每个封装内部的函数也只能在这一封装里通过特定的方法进行修改。
5. 类语法细节
public修饰权限,说明对象公开可用;
private用在成员变量前,声明成员表示为类私有;
重载构造函数:参数类型或个数不同,可以定义多个构造函数。
this()代表调用了另一个构造函数,调用的函数视自变量类型和个数而定。
类名.static成员,static方法或区块中不能出现this关键字。声明为static的成员,不会让个别对象拥有,而是属于类。
可以用import static进行偷懒。但要注意名称冲突问题。
上周考试错题总结
错题1 CH03 填空:~0b1011的十进制值是(-12)
错题2 CH03 判断:byte a=3;byte b=4; 那么 a+b的类型也是byte.(X)
错题3 Linux Bash中,查找当前目录中前天创建的Java文件的命令是(find . –name *.java -ctime 2)
错题4 运行p69 Odd.class的命令为(java cc.openhome.Odd)。
错题5 P64 Shift.java中第三个printf的输出结果是”2的2次方:4”。(X)
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 200/200 | 2/2 | 20/20 | |
| 第二周 | 300/500 | 2/4 | 18/38 | |
| 第三周 | 500/1000 | 3/7 | 22/60 | |
| 第四周 | 300/1300 | 2/9 | 30/90 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:10小时
实际学习时间:5小时
改进情况:
参考资料
20145209 2016-2017-2 《Java程序设计》第3周学习总结的更多相关文章
- 20155225 2016-2017-2 《Java程序设计》第九周学习总结
20155225 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 了解JDBC架构 使用JDBC API JDBC是用于执行SQL的解决方案,开 ...
- 20155229 2016-2017-2 《Java程序设计》第九周学习总结
20155229 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 JDBC(Java DataBaseConnectivity)即java数据库连接 ...
- 20155338 2016-2017-2 《Java程序设计》第九周学习总结
20155338 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 · 数据库本身是个独立运行的应用程序 · 撰写应用程序是 ...
- 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 ...
随机推荐
- easyui学习笔记1—增删改操作
最近公司要用easyui,这里自己看了官网几篇文章,遇到些问题,大多数的问题都是敲代码的时候笔误,其他有些地方确实需要注意一下,这里做些笔记. 1.在mysql中建好表之后修改id字段为递增字段,发现 ...
- bzoj1434 [ZJOI2009]染色游戏
Description 一共n × m 个硬币,摆成n × m 的长方形.dongdong 和xixi 玩一个游戏, 每次可以选择一个连通块,并把其中的硬币全部翻转,但是需要满足存在一个 硬币属于这个 ...
- 如何理解“Unix 里一切都是文件”这句话-在 UNIX 中,一切都是字节流
UNIX 操作系统的设计.用户界面.文化和演变都是建立在它的一套统一的想法和概念上.其中最重要的一点可能是“一切皆文件”,而这个概念被认为是 UNIX 的灵魂之一. 这一关键设计原则提供了一个统一的范 ...
- 7.spring:SpringAOP(配置文件)
SpringAOP(xml文件配置) 配置文件的方式,主要是在xml文件中进行配置,不使用注解! 目录: AtithmeticCalculator.java public interface Atit ...
- 使用OrgChart插件生成家谱组织结构图
1.orgchart插件: github地址:https://github.com/dabeng/OrgChart 2.前端代码: //1.加载树形数据:ajax请求获取json格式的数据(flag参 ...
- 大型网站系统与java中间件实践-阅读笔记
线程池 ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, Bl ...
- 一点一点看JDK源码(六)java.util.LinkedList前篇之链表概要
一点一点看JDK源码(六)java.util.LinkedList前篇之链表概要 liuyuhang原创,未经允许禁止转载 本文举例使用的是JDK8的API 目录:一点一点看JDK源码(〇) 1.什么 ...
- Bootstrap Data Table简单使用(动态加载数据)
直接上代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <ti ...
- show status 查看各种状态
要查看MySQL运行状态,要优化MySQL运行效率都少不了要运行show status查看各种状态,下面是参考官方文档及网上资料整理出来的中文详细解释: 如有问题,欢迎指正 状态名 作用域 详细解释 ...
- HTML+jq简单轮播图
.main{ width: 100%; min-width: 1100px; display: table; margin: 0 auto; text-align: ce ...