20155228 2016-2017-2 《Java程序设计》第3周学习总结

教材学习内容总结

认识对象

类与对象

  • 类和对象的关系:类是对象的设计图,对象是类的实例
  • 参考:将“名牌”指定到新建的对象上
  • 定义值域成员:在新建的类中定义变量
  • 构造函数:构造函数是与类名称同名的方法
  • 在操作对象时,=是用来指定参考名称参考某个对象,==是用来比较两个参考名称是否参考同一个对象,!=是比较两个参考名称是否没有参考同一个对象。

基本类型打包器

  • 如果要让基本类型像对象一样操作,可以使用Long、Lnteger、Double、Float、Boolean、Byte等类来打包,这些类就是所谓的打包器。

数组对象

  • 数组复制不能直接将A指定等于B,而是需要使用特定的命令。
  • 在Java中数组一旦确定长度就确定了,不能再修改了。
System.arraycopy();
Arrays.copyOf();

字符串对象

  • 在Java中为了效率考虑,以引号包括的字符串,只要内容相同,无论在代码中出现几次,JVM都只会建立一个实例,并在字符串内维护。
  • 在Java中,字符串对象一旦建立就无法更改对象中的任何内容,对象上没有任何办法可以改变字符串内容。

对象封装

何为封装

  • 构造函数可以封装对象初始流程,构造函数是与类名称同名的方法,不用声明返回类型。
  • 在类中定义方法可以封装对象操作流程。
  • private是用来封装私有数据防止用户直接存取,如果没有提供方法存取private成员,用户就不能存取,如果有提供方法,用户也只能按照方法定义的流程存取数据。

语法类细节

  • public权限修饰:可以用在类、方法、数据还有构造函数上,使得其他包的类可以直接使用。
  • 关于构造函数:如果写了构造函数的话在新建对象时就需要通过构造函数流程,设定构造函数参数的值。
  • 构造函数与重载:定义多个构造函数,参数类型或者个数不同,用一致的名称来调用类似功能的方法。
  • 使用this:可以在构造函数中调用另一个已定义的构造函数。
  • static成员:被声明为static的成员,不会被个别对象拥有。通过类名称与点运算符来取得static成员。
  • 不定长度自变量:使用不定长度自变量时,方法上声明的不定长度参数必须是参数列的最后一个。

教材学习中的问题和解决过程

  • 关于装箱和自动装箱在细节上的差异:自动装箱是装箱的简化,不需要再按照一般的类类型新建对象使用new的模式新建对象。但是在自动装箱时,如果传入的值在定义的数值范围内,程序就会检查前面的缓存中有没有打包过相同的值,如有就不会再新建对象。

  • 关于类类型建立数组:和基本类型建立数组时不赋值的话就用默认值不同,类类型在建立数组时不赋初值的话建立的实例个数就是0个。

代码调试中的问题和解决过程

  • 课后练习选择题第十题:把题目中的代码敲进去发现编译错误。仔细检查发现在调用方法时的不应该是用返回值的名称,而应该是类名称.方法名称,但是编译还是错误。后来发现这是在用static的格式调用方法,所以方法定义时要加上static。

代码托管

  • 代码量截图:

上周考试错题总结

  • 题目:2.判断:教材P51,第8题,执行命令java –cp classes cc.openhome.Main和cd classes java cc.openhome.Main cd ..等价。(OK)
  • 分析:这道题我试了一下的确是等价的。

  • 题目:3.CH03 判断:Java中, 数字235的类型是int。(OK)
  • 分析:教材P67:程序中写下一个整数时默认使用不超过int类型长度。
  • 题目:6.CH03 填空:~0b1011的十进制值是(-12)
  • 分析:计算机中数据以补码形式存储,补码运算就是逐位取反。1011的补码是1011取反为0100还原为1100所以是-12

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第三周 210/340 1/3 9/30
  • 计划学习时间:9小时

  • 实际学习时间:9小时

  • 改进情况:上周老师在博客中要求我加强练习,所以这周就多花了些时间写代码,并提高了上传代码的频率。

参考资料

20155228 2016-2017-2 《Java程序设计》第3周学习总结的更多相关文章

  1. 20155334 2016-2017-2 《Java程序设计》第九周学习总结

    20155334 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章:整合数据库 16.1 JDBC入门 JDBC(Java DataBase Conn ...

  2. 20155321 2016-2017-2 《Java程序设计》第九周学习总结

    20155321 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 厂商在实现JDBC驱动程序时,依方式可将驱动程序分为四种类型: JDBC-OD ...

  3. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  4. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  5. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  6. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  7. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  8. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  9. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  10. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

随机推荐

  1. mysql报错Establishing SSL connection without server's identity verification is not recommended

    使用mysql数据库时报错:Establishing SSL connection without server's identity verification is not recommended ...

  2. Java如何循环数组并使用Split

    场景: 当写方法时遇到1个参数有3个值, 该参数类型为数组.    例如:  aaa|bbb|ccc  .  而且需要循环打印,这个时候我们就需要用数组循环输出的方法. 一:feature 示例 Wh ...

  3. CF718C Sasha and Array 线段树+矩阵加速

    正解:线段树 解题报告: 传送门! 首先这种斐波拉契,又到了1e9的范围,又是求和什么的,自然而然要想到矩阵加速昂 然后这里主要是考虑修改操作,ai+=x如果放到矩阵加速中是什么意思呢QAQ? 那不就 ...

  4. CentOS SSH免密登陆

    #环境说明客户机:Mac OS X服务器:CentOS 6.5客户端:OpenSSH,OS X及大多数Linux都内置了OpenSSH.’ssh -v’命令可以查看版本. #大致流程1.在客户机创建一 ...

  5. block详解

    Objective-C 中 Block 有三种类型: NSStackBlock 存储于栈区 NSGlobalBlock 存储于程序数据区 NSMallocBlock 存储于堆区 block 内部没有引 ...

  6. UICollectionView横向分页

    效果图: 代码: HCollectionViewCell.h #import <UIKit/UIKit.h> @interface HCollectionViewCell : UIColl ...

  7. Python3学习之路~5.7 Json & pickle 模块

    用于序列化的两个模块 json,用于字符串 和 python数据类型间进行转换 pickle,用于python特有的类型 和 python的数据类型间进行转换 Json模块提供了四个功能:dumps. ...

  8. DataFrame WordCount

    测试数据: ** * 使用DataFrame实现WordCount */ object DataFrameWordCount { def main(args: Array[String]): Unit ...

  9. 以太坊如何使用CPU挖矿?

    CPU挖掘 你可以用电脑的中央处理器(CPU)挖以太币.自从GPU矿工的效率高出两个数量级,它就不再盈利了.然而你可以用CPU挖掘在Morden测试网或私有链上挖矿,以便创建你测试合约和交易所需要的以 ...

  10. (转)以太坊(Ethereum)创世揭秘 以太坊(Ethereum)创世揭秘

    什么是以太坊(Ethereum) 以太坊(Ethereum)是一个基于区块链技术,允许任何人构建和使用去中心化应用的区块链平台.像比特币一样,以太坊是开源的,并由来自全世界的支持者们共同维护.与比特币 ...