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

本文总结了《Java程序设计》课程第三周的学习内容,涵盖了对象的认识、类与对象的概念、构造函数的使用、基本类型的打包器、数组对象的处理、字符串对象的特点、对象封装的重要性等内容。

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的模式新建对象。但是在自动装箱时,如果传入的值在定义的数值范围内,程序就会检查前面的缓存中有没有打包过相同的值,如有就不会再新建对象。
    1073846-20170312160203748-1284645006.png
  • 关于类类型建立数组:和基本类型建立数组时不赋值的话就用默认值不同,类类型在建立数组时不赋初值的话建立的实例个数就是0个。
    1073846-20170312160212857-1612886870.png

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

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

    代码托管

  • 代码量截图:
    1073846-20170312161940201-1582406887.png

    上周考试错题总结

  • 题目:2.判断:教材P51,第8题,执行命令java –cp classes cc.openhome.Main和cd classes java cc.openhome.Main cd ..等价。(OK)
  • 分析:这道题我试了一下的确是等价的。
    1073846-20170312160257014-1734682926.png
  • 题目:3.CH03 判断:Java中, 数字235的类型是int。(OK)
  • 分析:教材P67:程序中写下一个整数时默认使用不超过int类型长度。
  • 题目:6.CH03 填空:~0b1011的十进制值是(-12)
  • 分析:计算机中数据以补码形式存储,补码运算就是逐位取反。1011的补码是1011取反为0100还原为1100所以是-12

学习进度条

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

  • 实际学习时间:9小时

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

参考资料

转载于:https://www.cnblogs.com/besti20155228/p/6538166.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值