第十章
继承
学习目标,
?如何定义继承
?如何声明超类和子类
?用代码实现继承
?测试继承的有效性
?包的定义和使用
继承概述
有重复成员的类
继承,Manager和 CSR继承 Employee
继承的定义
? 一个类中定义一些公共成员(变量和方法),其他类
可以扩展该类而共享成员
? 被扩展的类是,超类或父类
? 继承了的类是,子类
查看结果,Employee.java
继承,Employee和 Customer继承 Person
测试继承
? 类一次只能继承一个父类(单继承)
? 使用“是一个( is a)”短语验证继承
? Employee,Manager和 CSR示例中继承是
正确的
?一个 Manager是一个 Employee
?一个 CSR是一个 Employee
测试继承
错误原因:不满足,is a” 短语
正确原因:满足,is a” 短语
查看结果,AddTest.java
super
? super用来引用 当前对象的父类
(1) 访问父类被隐藏的成员变量,如,
super.variable;
(2)调用父类中被重写的方法,如,
super.Method([paramlist]);
(3)调用父类的构造函数,如,
super([paramlist]);
查看结果,OverTest.java
包
import语句
格式,
import package1[.package2…].(classname|*);
从目录 classpath\package1\package2… 中查找。
classname指明所要引入的类,例如,
import java.awt.Button;
* 表明要从一个包中引入多个类,例如,
import java.awt.*;
? Java编译器为所有程序自动引入包 java.lang,因此不必用
import语句引入它包含的所有类,但若需要使用其它包中
的类,必须用 import语句引入。
? 也可以在使用类的地方指明包,这样就不必用 import语句
引入该类了,例如下面两种情况时 等价的,
import java.util.*;
class myDate extends Date
{
……
}
或者
class myDate extends java.util.Date{ }
继承
学习目标,
?如何定义继承
?如何声明超类和子类
?用代码实现继承
?测试继承的有效性
?包的定义和使用
继承概述
有重复成员的类
继承,Manager和 CSR继承 Employee
继承的定义
? 一个类中定义一些公共成员(变量和方法),其他类
可以扩展该类而共享成员
? 被扩展的类是,超类或父类
? 继承了的类是,子类
查看结果,Employee.java
继承,Employee和 Customer继承 Person
测试继承
? 类一次只能继承一个父类(单继承)
? 使用“是一个( is a)”短语验证继承
? Employee,Manager和 CSR示例中继承是
正确的
?一个 Manager是一个 Employee
?一个 CSR是一个 Employee
测试继承
错误原因:不满足,is a” 短语
正确原因:满足,is a” 短语
查看结果,AddTest.java
super
? super用来引用 当前对象的父类
(1) 访问父类被隐藏的成员变量,如,
super.variable;
(2)调用父类中被重写的方法,如,
super.Method([paramlist]);
(3)调用父类的构造函数,如,
super([paramlist]);
查看结果,OverTest.java
包
import语句
格式,
import package1[.package2…].(classname|*);
从目录 classpath\package1\package2… 中查找。
classname指明所要引入的类,例如,
import java.awt.Button;
* 表明要从一个包中引入多个类,例如,
import java.awt.*;
? Java编译器为所有程序自动引入包 java.lang,因此不必用
import语句引入它包含的所有类,但若需要使用其它包中
的类,必须用 import语句引入。
? 也可以在使用类的地方指明包,这样就不必用 import语句
引入该类了,例如下面两种情况时 等价的,
import java.util.*;
class myDate extends Date
{
……
}
或者
class myDate extends java.util.Date{ }