20155323 2016-2017-2 《Java程序设计》第4周学习总结
教材学习内容总结
- 继承的目的:继承是为了多态,能够采用父类引用指向子类对象,这样可以让代码更灵活。继承之后可以重写、覆盖父类方法。
- 父类与子类的关系:父类是接口或者是抽象类,子类必须继承自父类。编译时看父类,运行时看子类。
private
成员会被继承,不过子类无法直接存取,必须通过父类提供的方法来存取。(如果父类愿意提供访问方法)
- 多态:使用单一接口操作多种类型的对象。
- 重新定义:在继承父类之后对子类重新定义执行。
- 垃圾收集机制:回收的是无任何引用的对象占据的内存空间而不是对象本身。
- 被声明为
protected
的成员,相同包中的类可以直接存取,不同包中的类可以在继承后的子类直接存取。
- 如果想取得父类中的方法定义,可以在调用方法前加上
super
关键字,且重新定义方法时需注意对于父类中的方法权限,只能扩大不能缩小。
- 在JAVA中,子类只能继承一个父类,如果定义类时没有使用
extend
关键字指定继承任何类,那一定是继承java.lang.Object
。java.lang.Object
是所有类的顶层父类,这代表了Object
上定义的方法,所有对象都继承下来了,只要不是被定义为final
方法都可以重新定义。
- 接口:一个类所具有的方法的特征集合,是一种逻辑上的抽象。
- 继承是“是一种”关系,操作接口则表示“拥有行为”,但不会是“是一种”关系。
- 接口可以继承别的接口,也可以同时继承两个以上的接口。
enum
语法可用于定义枚举函数。enum
定义了特殊的的类,继承自java.lang.Enum
,不过这是由编译程序处理,直接撰写程序继承Enum
类会被编译程序拒绝。
教材学习中的问题和解决过程
- 不明白private和protected的区别
经过查阅资料我知道了:
1.private 是完全私有的,只有当前类中的成员能访问到.
2.protected 是受保护的,只有当前类的成员与继承该类的类才能访问.
3.这两个是访问类中成员权限的限制符.在类外如果想使用类中的成员,只能直接使用public类型的,protected和private都是不能访问的,对于类外使用而言,这两个是完全相同的.
代码调试中的问题和解决过程
在运行下面两行代码时我发现这个地方不能使用println,必须要使用printf才能运行,否则会出现错误。
在同学的帮助下我弄清楚了printf和println的区别,也记住了两种输出的格式。
代码托管
- 代码提交过程截图:
- 代码量截图:
上周考试错题总结
1.填空:Linux Bash中,(grep )命令可以进行全文搜索。
16.CH04 填空:p104 CopyArray.java 中修改int [] scores2 = Arrays.copyOf(scores1, scores1.length,使得输出的第二行只有前五个元素,修改后的代码为(int [] scores2 = Arrays.copyOf(scores1, scores1.length/2) 或int [] scores2 = Arrays.copyOf(scores1, 5) )
30.CH05 填空:Java中方法参数只用(传值)调用。
其他(感悟、思考等,可选)
在代码的练习上,和课本进度还是差了一截,下星期需要增加更多学习时间迎头赶上。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 100/100 | 1/4 | 10/10 | |
第二周 | 100/200 | 1/5 | 10/20 | |
第三周 | 100/300 | 1/6 | 10/30 | |
第四周 | 300/700 | 1/7 | 10/40 |