第4章面向对象(下) - 补充案例课件 联系客服

发布时间 : 星期一 文章第4章面向对象(下) - 补充案例课件更新完毕开始阅读

博学谷——让IT教学更简单,让IT学习更有效

二、案例实现

1、编写Fu类及其子类Zi,在Zi类中使用super关键字调用Fu类成员变量,代码如下

class Fu { }

class Zi extends Fu { }

Zi() {}

int num = 30;// 修改num的值 void method() {

System.out.println(\// super关键字调用父类成员变量

System.out.println(\类中num值为:\Fu() {} int num = 20;

System.out.println(\类中num值为:\}

2、定义测试类Example03,代码如下:

class Example03{ }

public static void main(String[] args) { }

Zi z = new Zi(); z.method();

运行结果如图4-3所示。

图4-3 运行结果

三、案例总结

1、使用super关键字调用父类的成员方法。具体格式如下:

super.成员变量

2、被调用的父类成员变量,必须是非private的。

5

博学谷——让IT教学更简单,让IT学习更有效

案例4-4 super访问父类成员方法 一、案例描述

1、 考核知识点 编号:00104003 名称:super关键字

2、 练习目标

? 掌握使用super关键字访问父类成员方法

3、 需求分析

子类重写父类的方法后,子类对象将无法访问父类被重写的方法,为了解决这个问题,在Java中专门提供了一个super关键字用于访问父类的成员。为了让初学者熟悉super关键字的用法,本案例将分别设计Fu类及其子类Zi,在Zi类的方法中使用super关键字访问Fu类的成员方法。

4、 设计思路(实现原理)

1)编写一个Fu类,在类中定义无参构造和一个无返回值的show()方法。

2)Zi类继承Fu类,子类中定义无参构造和一个无返回值的method()方法,method()方法中使用super关键字调用了Fu类的show()方法。 3)定义测试类Example04。

二、案例实现

1、编写Fu类及其子类Zi,在Zi类中使用super关键字调用Fu类成员方法,代码如下:

class Fu { }

class Zi extends Fu { }

Zi() {}

void method() { }

System.out.println(\// super关键字调用父类成员方法 super.show(); Fu() {} void show() { }

System.out.println(\

2、定义测试类Example04,代码如下:

class Example04{

public static void main(String[] args) { }

6

Zi z = new Zi(); z.method();

博学谷——让IT教学更简单,让IT学习更有效

}

运行结果如图4-4所示。

图4-4 运行结果

三、案例总结

1、使用super关键字调用父类的成员方法。具体格式如下:

super.成员方法([参数1,参数2…])

2、被调用的父类成员方法,必须是非private的。

案例4-5 super访问父类构造方法 一、案例描述

1、 考核知识点

编号:00104003 名称:super关键字

2、 练习目标

? 掌握如何在子类构造方法中使用super关键字访问父类构造方法

3、 需求分析

在子类的构造方法中一定会调用父类的某个构造方法,如果想指定调用类父类中的哪个构造方法,可以使用super关键字来实现。为了让初学者掌握super关键字的用法,本案例将分别设计Fu类及其子类Zi,在Zi类的构造方法中使用super关键字访问Fu类的构造方法。

4、 设计思路(实现原理)

1)编写一个Fu类,在类中定义无参构造。

2)Zi类继承Fu类,子类中也定义无参构造方法,在构造方法中使用super关键字调用Fu类的构造方法。

3)定义测试类Example05。

二、案例实现

1、编写Fu类及其子类Zi,在Zi类构造中使用super关键字调用Fu类构造方法,代码如下:

class Fu {

Fu() {

System.out.println(\类构造方法!\}

7

博学谷——让IT教学更简单,让IT学习更有效

}

class Zi extends Fu { }

Zi() {

super();//在子类构造中调用父类构造 System.out.println(\类构造方法!\}

2、定义测试类Example05,代码如下:

public class Example05{ }

public static void main(String[] args) { }

Zi zi = new Zi();

运行结果如图4-5所示。

图4-5 运行结果

三、案例总结

1、通过super调用父类构造方法的代码必须位于子类构造方法的第一行,并且只能出现一次。

2、在子类的构造方法中通过super指定调用父类的哪个构造方法,如果没有指定,在实例化子类对象时,会自动调用父类无参的构造方法。

3、被调用的父类构造方法,必须是非private的。

案例4-6 final修饰类 一、案例描述

1、 考核知识点

编号:00104004 名称:final关键字

2、 练习目标

? 了解final关键字修饰类的特点 ? 掌握final关键字修饰类的用法

3、 需求分析

Java中的类被final关键字修饰后,该类将不可以被继承,也就是不能够派生子类。为了让初学者熟悉final关键字修饰类的用法,本案例将分别设计两个类,一个是使用final关键字修饰的Fu类,另一个是继承Fu类的Zi类,验证final关键字修饰的类是否能被继承。

8