5.1继承。
5.1.1何时使用继承。
在j**a中,使用继承可以表达“是”的关系。5.1.2如何使用继承。
使用继承可以在定义类时使用extends关键字。“class xx extends yy”表明“xx是yy”,我们称yy是父类,xx是子类。有了这一声明后,父类中的方法和成员变量在子类中都不需要重复定义就可以直接使用。
例51class employee
5.2方法的覆盖5.2.1覆盖的用法例52
class employee
public static void main(string args[ ]
public void ss( )
5.4.2使用举例例520
interface vehicle
class car implemets vehicle}
class company}
题2:接口是j**a面向对象的实现机制之一,以下说法正确的是:ba j**a支持多重继承,一个类可以实现多个接口b j**a只支持单重继承,一个类可以实现多个接口c j**a只支持单重继承,一个类只可以实现一个接口d j**a支持多重继承,但一个类只可以实现一个接口。
5.5访问控制及覆盖的规则5.5.1访问控制。
在类的成员变量和方法前面可以加上各种修饰符,如public, protected,private或什么都不加。不同的修饰符表明不同的使用权限。其权限如表5-1所示。
5.5.2覆盖的规则。
方法覆盖即子类的方法和父类的方法名称和参数都相同。方法覆盖有三个规则:返回值必须相同。
子类方法不可比父类被覆盖的方法更难访问子类方法不可声明抛出更多的异常。
题3:被声明为private,protected及public的类成员,在类外部:()ba只能访问到声明为public的成员。
b只可能访问到声明为protected和public的成员c都可以访问d都不能访问。
5.6static修饰符5.6.1静态变量例5-21class test
public static void main(string args[ ]
static void ss( )
void tt( )
题4:声明为static的方法不能访问()类成员。ca超类b子类c非static d用户自定义类。
5.7final修饰符5.7.1final类。
final用在类定义中表明该类不可以有子类,如:final class ss}
public class f4 extends ss{}
编译将出错。5.7.2final方法例5-24class ss}
class f2 extends ss}
编译将出错,但final只影响覆盖,不影响重载,如下面的程序可正常编译。class f1public final void tt(int i){}
5.7.3final变量例5-25
public class t1}
题5:关键字()表明一个对象或变量在初始化后不能修改。ba extends b final c this d finalizer
5.8abstract修饰符。
abstract用在类和方法的定义中,表明类中有方法还没有写完,只写了方法的名称和参数,而没有写方法中的**,未写完的方法定义前也必须加abstract。
abstract class ss
public class t5 extends ss}
题6:下列关于抽象类的描述中,错误的是ca.抽象类是用修饰符abstract说明的b.
抽象类是不可以定义对象的c.抽象类是不可以有构造方法的d.抽象类通常要有它的子类。
高级面向对象程序设计
一 j a的介绍。a 特点。i.面向对象。ii.多线程。iii.跨平台的。iv.高性能。v.健壮性。vi.简单性。vii.可移植性。viii.动态性。ix.解释性。x.网络的。xi.体系结构中立。b j a的运行环境。i.jdk ii.jre iii.jvm c j a运行。i.j a j a ii...
面向对象的高级程序设计c
week10,11 面向对象的高级程序设计。一 实验目的。1 区别静态类与非静态类,掌握静态字段,静态方法和静态构造函数的定义方法。2 理解类的继承性与多态性,掌握其应用方法。3 理解抽象类 接口的概念,掌握抽象类及接口的定义及使用方法。4 理解分部类和命名空间的概念,掌握分部类和命名空间的使用方法...
面向对象程序设计 作业
第一周 1.定义一个类,要求其成员有 1 私有数据2个。2 公有函数多个 分别能够实现对数据的赋值 返回 屏幕显示 编写程序验证。2.定义2个重载函数add,功能分别为 1 实现两个整型数据相加,并返回结果 2 实现一个整型数据的自加1,并返回结果 第二周 1.编写重载函数并验证,函数功能 对数组赋...