20145209 2016-2017-2 《Java程序设计》第4周学习总结
教材学习内容总结
继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。
Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。
多态的特征是表现出多种形态,具有多种实现方式。或者多态是具有表现多种形态的能力的特征。或者同一个实现接口,使用不同的实例而执行不同的操作。
多态的使用可以增强程序的可扩展性及可维护性,使代码更加简洁。
不但能减少编码的工作量,也能大大提高程序的可维护性及可扩展性。接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
重新定义行为:接口操作相同,只是操作内容不同的两个方法提升至父类中进行定义
父类中定义了方法,实际上如何执行只有子类知道,父类里的方法内容是空的,子类继承父类,再对方法进行定义。
重新定义子类中某个方法时,子类必须撰写与父类方法中相同的签署。
Java中所有对象都是一种java.lang.object等细节。
被声明为protected的成员在相同包的类可以直接存取,不同包的类可以在继承后的子类直接存取。
利用toString()方法返回字符串描述。
public:类内部可存取,相同包类可存取,不同包类可存取。
protected:类内部可存取,相同包类可存取,子类可存取
无:类内部可存取,相同包类可存取,不同包类不可存取。private:类内部可存取,相同包类不可存取,不同包类不可存取。
super关键字:想取得父类中的方法定义,可以在调用方法前加上
可以使用super调用父类方法,不能定义为private(这就只限定在类内使用)。
重新定义方法,子类对于父类中的方法权限,只能扩大不能缩小。
static方法没有多态。
super()和this()只能择一调用,而且要在构造函数第一行。
class前使用final关键字定义,表示这个类是最后一个了,不会再有子类,不能被继承。
方法也可以被限定为final,表示最后一次定义方法,子类不可以再重新定义该方法。
java中任何类追溯至最上层父类,定义时没有使用继承,一定就是java.lang.Object,所有对象一定是一种Object,任何类型的对象,都可以使用Object的名称来参考。
教材学习中的问题和解决过程
- 区分public、package、protected、private的关系:
public private protected和package都是系统的实例变量的范围类型。
为了强制一个对象隐藏其数据,编译器限制实例变量范围以限制其在程序中的可见性。
具体区别如下:
private
实例变量只能被声明它的类访问。protected
实例变量能被声明它的类和子类访问,所有没有显式制定范围的实例变量都是。public
实例变量可以被在任何地方访问。package
使用modern运行时,一个@package实例变量在实现这个类的可执行文件镜像中实际上是@public的,但是在外面就是@private。Objective-C中的@package与C语言中变量和函数的private_extern类似。任何在实现类的镜像之外的代码想使用这个实例变量都会引发link error这个类型最常用于框架类的实例变量,使用@private太限制,使用@protected或者@public又太开放。
(链接:https://zhidao.baidu.com/question/1990856800430686467.html)
上周考试错题总结
- 错题1 System.out.println(52+25+””);的结果是(77)
- 错题2 “30”转化为byte类型的30的语句是(Byte.parseByte(“30”);)
- 错题3 Java中方法参数只用(传值)调用
- 错题4 p86 Guess.java中guess的值无法输入12。(X)
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 2/2 | 20/20 | |
第二周 | 300/500 | 2/4 | 18/38 | |
第三周 | 500/1000 | 3/7 | 22/60 | |
第四周 | 300/1300 | 2/9 | 30/90 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:10小时
实际学习时间:6小时
改进情况: