20165230 2017-2018-2 《Java程序设计》第3周学习总结
教材学习内容总结
- 本周主要学习了类与对象。
包括创建对象与构造方法。
- 了解了程序是由若干个类所构成;类分为类名与类体;
- 类体包括变量声明与方法定义;
- 变量分为成员变量与局部变量;
- 方法由方法头和方法体构成;
- 方法体由局部变量的声明和JAVA语句构成
- 用类声明的变量称为对象。
- 创建对象需使用构造方法
- 创建对象包括对象声明与为声明的对象分配变量
- 对象可组合与复用
重要结论:一个类声明的两个对象如果具有相同的引用,二者就具有完全相同的变量
- 类变量与类方法:加
static
关键字修饰,可用类名调用 - 实例变量与实例方法:实例方法即可操作实例变量也可操作类变量
- 包与import语句
package
打包javac 包名.主类名
编译javac *.java
编译全部源文件- 运行程序必须到包结构的上一层目录运行
import java.包名.*
引入包中所有的类
- jar文件
- 访问权限
private
私有变量与私有方法:另一个类中,对象不能访问自己的私有变量,也不能用类名调用私有方法public
共有变量与共有方法protected
受保护成员变量与方法- 友好变量与方法
- jar文件:
把字节码文件压缩成jar文件并存放如jre运行环境中,即可使用import语句扩展类
教材学习中的问题和解决过程
- 问题1:p93页中,友好变量与受保护成员变量都是如果在同一个类中即可访问,那么他们的区别在哪里呢?
- 问题1解决方案:通过在网上查询了解到
protected修饰的变量或方法:继承-当前类,同包类,不同包类。使用-当前类,同包类。
友好修饰的变量和方法只能被当前类,同包类继承或使用。
private修饰的变量和方法只能被当前类使用。不存在继承。
代码调试中的问题和解决过程
-
问题1:在调试example4_5时,将
lader.bottom
和lader.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 |