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

教材学习内容总结

  • 本周主要学习了类与对象。

    包括创建对象与构造方法。
  1. 了解了程序是由若干个类所构成;类分为类名与类体;
  2. 类体包括变量声明与方法定义;
  3. 变量分为成员变量与局部变量;
  4. 方法由方法头和方法体构成;
  5. 方法体由局部变量的声明和JAVA语句构成
  • 用类声明的变量称为对象。
  1. 创建对象需使用构造方法
  2. 创建对象包括对象声明与为声明的对象分配变量
  3. 对象可组合与复用

重要结论:一个类声明的两个对象如果具有相同的引用,二者就具有完全相同的变量

  • 类变量与类方法:加static关键字修饰,可用类名调用
  • 实例变量与实例方法:实例方法即可操作实例变量也可操作类变量
  • 包与import语句
  1. package打包
  2. javac 包名.主类名编译
  3. javac *.java编译全部源文件
  4. 运行程序必须到包结构的上一层目录运行
  5. import java.包名.*引入包中所有的类
  • jar文件
  • 访问权限
  1. private私有变量与私有方法:另一个类中,对象不能访问自己的私有变量,也不能用类名调用私有方法
  2. public共有变量与共有方法
  3. protected受保护成员变量与方法
  4. 友好变量与方法
  • jar文件:

    把字节码文件压缩成jar文件并存放如jre运行环境中,即可使用import语句扩展类

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

  • 问题1:p93页中,友好变量与受保护成员变量都是如果在同一个类中即可访问,那么他们的区别在哪里呢?
  • 问题1解决方案:通过在网上查询了解到

    protected修饰的变量或方法:继承-当前类,同包类,不同包类。使用-当前类,同包类。

    友好修饰的变量和方法只能被当前类,同包类继承或使用。

    private修饰的变量和方法只能被当前类使用。不存在继承。

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

  • 问题1:在调试example4_5时,将lader.bottomlader.above错误将小写的l打错成大写的L,导致编译错误

  • 问题1解决方案:此处的above和bottom变量均不是静态变量,不能直接通过类名来访问
  • 问题2:在调试example4_8时,一直显示找不到符号,不断地检查example4_8.java的文件,结果是因为在circular.java文件中漏掉了setHeight的方法定义

  • 问题2解决方案:在Circular.java文件中补充setHeight的方法定义
  • 问题3:在调试example4_10时,错误将laderone.设置上底ladertwo.设置下底的lader首字母大写,导致编译不通过

  • 问题3解决方案:此处的laderone和ladertwo均为实例变量,不是类变量,一定要注意大小写
  • 问题4:在编译带包文件时,javac *.java显示错误

  • 问题4解决方案:进入包目录的上一层目录中,不能用*.java,要用javac tom/jiafei/源文件名.java

    编译时或者进入到jiafei文件夹用javac *.java
  • 问题5:在调试example4_20时,在if后加了;,导致编译错误

  • 问题5解决方案:去掉;,才能与后面的else if匹配

代码托管

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

  • 在本周的学习中,任务量比上周重,学习过程中间有两天没有看视频和学习教材,再开始学的时候就忘记前面的内容了,敲代码时也减慢了速度,效率降低了不少,java的学习需要保持每天的学习时间,边学边总结,边敲代码,边理解。同时要一边学一边上传代码提交到码云上,不能学完教材再敲代码。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 13/13 1/1 19/19
第二周 426/426 3/3 12/12
第三周 562/562 4/4 15/15

参考资料

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

  1. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

随机推荐

  1. Spring data mongodb 聚合,投射,内嵌数组文档分页.

    尽量别直接用 DBObject  ,Spring data mongodb 的api 本来就没什么多大用处,如果还直接用 DBObject 那么还需要自己去解析结果,说动做个对象映射,累不累 Spri ...

  2. caffe︱ImageData层、DummyData层作为原始数据导入的应用

    Part1:caffe的ImageData层 ImageData是一个图像输入层,该层的好处是,直接输入原始图像信息就可以导入分析. 在案例中利用ImageData层进行数据转化,得到了一批数据. 但 ...

  3. dojo中的dojox/grid/EnhancedGrid表格报错

    1.错误截图 2.错误出处 <body class="claro"> <div id="gridContainer"> <span ...

  4. FusionCharts ScrollColumn2D图

    FusionCharts ScrollColumn2D图 1.JSP页面 ScrollColumn2D.jsp: <%@ page language="java" conte ...

  5. R语言 文本挖掘 tm包 使用

    #清除内存空间 rm(list=ls()) #导入tm包 library(tm) library(SnowballC) #查看tm包的文档 #vignette("tm") ##1. ...

  6. NetBeans导入项目jar路径错误解决办法

    NetBeans导入项目jar路径错误解决办法 1.NetBeans中导入项目jar路径出错,单击项目右键,选择"属性",找到"库" 2.找到错误jar,全部勾 ...

  7. Flex中的DataGrid报错(一)

    1.错误描述    此行的多个标记:    -holeNum    -1105: 赋值的目标必须是引用值. 2.错误原因    detailWindow.holeNum.toString() = &q ...

  8. Flex中怎么给表格中的滚动条定位

    1.问题背景 如果表格中的字段过多,会出现滚动条,在将滚动条滚到一定的位置时,重新刷新表格,滚动条会回到原处,原来查看的字段还得继续滚动,才能查看到. 2.实现实例 <?xml version= ...

  9. Django学习-20-信号

    Django信号                  使得某个操作之前能定制化一些任务         - 内置信号 pre_init # django的model执行其构造方法前,自动触发 post_ ...

  10. JustMock .NET单元测试利器(一)

    1.什么是Mock? Mock一词是指模仿或者效仿,用于创建实例和静态模拟.安排和验证行为.在软件开发中提及"mock",通常理解为模拟对象.模拟对象的概念就是我们想要创建一个可以 ...