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

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

参考资料

原文地址:https://www.cnblogs.com/tiankunye/p/8597777.html