1、 子类与父类html
2、 成员变量的隐藏和方法重写java
声明的成员变量的名字和从父类继承的相同时,子类会隐藏继承而来的成员变量。 且:子类对象仍然能够调用从父类继承的方法操做被子类隐藏的成员变量,也就是说子类继承的方法所操做的成员变量必定是被子类继承或隐藏的成员变量。git
重写方法既能够操做继承的成员变量、调用继承的方法,也能够操做子类新声明的成员变量、调用新定义的其余方法,但没法操做被子类隐藏的成员变量和方法。(除非使用super关键词)
另外的,子类中重写的方法与父类中继承的方法不是同一类型,且其余变量都不变的状况下,易出现编译错误,如:编程
class A { float computer(float x, float y) { return x+y; } }
重写时:markdown
class B extend A { double computer(float x, float y) { return x*y; } }
可是,子类中重写的方法能够是父类方法的子类型。
3、super关键词学习
Super用于访问和调用被子类隐藏的成员变量和方法。用法基本为super.x或super.play().设计
4、final关键词调试
形如final class A {} final类不能被继承,即不能有子类。code
在父类用final修饰的方法,不容许被子类重写。htm
就是常量,不容许修改值。
5、对象的上传型对象
建立方式:
Animal a; Tiger b = new Tiger(); a =b;
6、 **继承与多态(重点)
** 上传型对象在调用一个方法时可能具备多种形态,由于不一样的子类在重写父类的方法时可能产生不一样的行为。为之后复习方便,在此记录书上例题代码:
class 动物 { void cry() { } } class 狗 extends 动物 { void cry() { System.out.println("汪汪....."); } } class 猫 extends 动物 { void cry() { System.out.println("喵喵....."); } } public class Example5_11 { public static void main(String args[]) { 动物 animal; animal = new 狗(); animal.cry(); animal=new 猫(); animal.cry(); } }
问题1:编译类文件时始终提示找不到符号。
问题1解决方案:通过尝试,直接编译运行主类文件,便可正常使用。
问题1:
教材P124 Example5¬_8.java中,父类class中为何要定义两个构造方法;而且为何子类UniversityStudent中调用重写后的Student构造方法时要用super关键字。
问题1解决方案:通过询问同窗并按照书中提示尝试后,发现因为子类不继承父类的构造方法,所以子类中的super是指调用父类其中一个构造方法,而不是调用被隐藏的。
无
上周博客互评状况(只要连接,具体点评放相应博客下)
本周首次互评
本章的学习使我更加直观透彻的理解了子类父类的关系以及各类编程方法与规则,也对面向对象中的继承与多态特色有了更深的了解。
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 6/6 | 1/1 | 20/20 | |
第二周 | 245/251 | 1/2 | 18/38 | |
第三周 | 633/884 | 1/3 | 22/60 | |
第四周 | 305/1189 | 1/4 | 30/90 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进本身的计划能力。这个工做学习中很重要,也颇有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:XX小时
实际学习时间:XX小时
改进状况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)