20144303 《Java程序设计》第三周学习总结

20144303 《Java程序设计》第三周学习总结

教材学习内容总结

•对象是存在的具体实体,具有明确的状态和行为,类是具有相同属性和行为的一组对象的集合,用于组合各个对象所共有操作和属性的一种机制
•类与对象的关系:要产生对象必须先定义类,类是对象的设计图,对象是类的实例
•类在定义时要使用关键词class,而具体对象就是对应java在堆内存中用new建立的实体
•无论System.arraycopy()还是Arrays.copyof(),用在类类型声明的数组时,都是执行浅层复制。
•为了让Java 基本类型像对象一样操作,可以使用Long、Integer、Double、Float、Boolean、Byte等类来打包基本类型,这些类就是所谓的打包器。
•在Java中,字符串是java.lang.String实例,用来打包字符数组。
•在Java中,以""包括的字符串,只要内容相同(序列、大小写相同),无论在代码中出现几次,JVM都只会建立一个String实例。
•在Java中可以使用System.arraycopy()的方法来进行数组值的复制,它会使用原生方式复制每个索引元素,比使用循环更快。在JDK6以上的版本中,还有个更方便的Arrays.copyOf()的方法,能够帮你建立新的数组。无论System.arraycopy()还是Arrays.copyOf(),用在类类型声明的数组时,都是执行浅层复制
•封装(Encapsulation)实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度,隐藏对象细节,将对象当作黑箱进行操作。
•如果没有声明权限修饰的成员,只有在相同包的类程序代码中才可以直接存取,也就是“包范围权限”。如果想在其他包的类程序代码中存取某包的类或对象成员,则该类或对象成员必须是公开成员,在Java中要使用public加以声明。
•如果定义类时,没有撰写任何构造函数,编译程序会自动加入一个无参数、内容为空的构造函数,称为默认构造函数。可以定义多个构造函数,只要参数类型或个数不同,这称为重载构造函数。
•this代表其所在函数所属对象的引用,简而言之就是this代本类对象的引用,当在函数内需要用到调用该函数的对象时,我们就可以使用this。
•this()代表了调用另一个构造函数,至于调用哪个构造函数,则视调用this()时给的自变量类型与个数而定。
•static用于修饰成员(成员变量和成员函数),被声明为static的成员,不会让个别对象拥有,而是属于类。
•在static方法中不能出现this关键字,static方法中不能用非static数据或方法成员。

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

这两章的内容有很多难以区分,比如类与对象、面向对象和面向过程。有很多比较难理解,比如自动装箱、装封等等。只能通过反复看书,多动手实践解决这些问题。不理解的多看几遍,比较难区分的就概括出他们各自的特点。

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

这段代码中的int number = (int)(Math.random()10);,不懂什么意思。
解决过程:通过百度,这段代码中,Math是数学类,random()是Math类中的一个方法,random本身只产生(0~1)之间的小数,random()
10 意思是产生0~10之间的小数 ,int(random()*10)的意思是强制取整,把小数部分去掉只去整数部分,所以就变成了产生0~9之间的整数

其他(感悟、思考等,可选)

相比前几周的学习,本周的学习量加大了不少,难度也有所提高,不再像是之前简单的看看概念,读懂代码就可以了。对于有些代码,还是得自己动手敲一遍才能更深刻的理解掌握,才能发现问题并解决问题。

代码托管截图:

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 20/20 1/1 5/5
第二周 50/70 1/2 7/12
第三周 300/370 1/3 12/24

参考资料

posted @ 2016-03-20 20:58  20144303石宇森  阅读(149)  评论(4编辑  收藏  举报