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. 修长城 (区间DP)

    Time Limit: 1000 ms   Memory Limit: 256 MB Description 大家都知道,长城在自然条件下会被侵蚀,因此,我们需要修复.现在是21世纪,修复长城的事情当 ...

  2. AppCompatActivity 去掉标题栏和EditText弹出软键盘遮住输入框问题

    1. AppCompatActivity去掉标题栏 此处除掉标题栏,需要注意一点,AppCompactActivity是继承自Activity.然而,AppCompactActivity据查看网上资料 ...

  3. nodejs之socket.io模块——实现了websocket协议

    Nodejs实现websocket的4种方式:socket.io.WebSocket-Node.faye-websocket-node.node-websocket-server,主要使用的是sock ...

  4. ImportError: No module named 'Box2D' 解决办法

    ImportError: No module named 'Box2D'这个问题是由于缺少gym Openai gym是一个用于开发和比较RL算法的工具包,与其他的数值计算库兼容,如tensorflo ...

  5. 第I篇PCI体系结构概述

    PCI总线作为处理器系统的局部总线,主要目的是为了连接外部设备,而不是作为处理器的系统总线连接Cache和主存储器.但是PCI总线.系统总线和处理器体系结构之间依然存在着紧密的联系. PCI总线作为系 ...

  6. Android视频播放的两种方式介绍

    1.在Android 中播放视频的方式有两种: 第一种方式是使用MediaPlayer 结合SurfaceView 来播放,通过MediaPlayer来控制视频的播放.暂停.进度等: 通过Surfac ...

  7. Shell脚本编程学习入门 02

    Shell脚本编程学习入门是本文要介绍的内容,我们可以使用任意一种文字编辑器,比如gedit.kedit.emacs.vi等来编写shell脚本,它必须以如下行开始(必须放在文件的第一行):   #! ...

  8. java Socket实现简单在线聊天(三)

    在上一篇,利用线程使服务端实现了能够接收多客户端请求的功能,这里便需要客户端接收多客户端消息的同时还能把消息转发到每个连接的客户端,并且客户端要能在内容显示区域显示出来,从而实现简单的在线群聊. 在实 ...

  9. Caused by: java.lang.ClassNotFoundException: flex.messaging.io.BeanProxy

    1.错误描述 2014-7-13 1:34:46 org.apache.catalina.startup.HostConfig undeploy 信息: Undeploying context [/b ...

  10. QueryError:Incorrect result size: expected 1, actual 0

    1.错误描述 QueryError:Incorrect result size: expected 1, actual 0 2.错误原因 3.解决办法