第4章 面向对象(下)_补充案例(3)

2019-05-18 13:31

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

三、案例总结

当一个类的方法被final关键字修饰后,这个类的子类将不能重写该方法。

案例4-8 final修饰局部变量 一、案例描述

1、 考核知识点 编号:00104004 名称:final关键字

2、 练习目标

? 掌握使用final关键字修饰局部变量

3、 需求分析

Java中被final修饰的变量为常量,它只能被赋值一次,也就是说final修饰的变量一旦被赋值,其值不能改变。为了让初学者掌握使用final关键字修饰局部变量,本案例将在类的方法中定义一个final修饰的局部变量,并试着对该变量重新赋值。

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

1)编写一个Example08类,类中定义类一个final修饰的局部变量age,为其赋初始值为18。 2)为age重新赋值为20。

二、案例实现

1、编写类Example08,代码如下

public class Example08{ }

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

final int age = 18; // 第一次可以赋值 age = 20; // 再次赋值会报错

编译错误,如图4-8所示。

图4-8 错误提示

11

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

三、案例总结

final修饰的变量表示常量,一经定义就不能重新赋值。

案例4-9 final修饰成员变量 一、案例描述

1、 考核知识点

编号:00104004 名称:final关键字

2、 练习目标

? 掌握使用final关键字修饰成员变量

3、 需求分析

在Java中,final修饰的变量表示常量,一经定义就不能重新赋值。为了让初学者熟悉final修饰变量的情况,本案例将使用final关键字修饰成员变量,观察其是否能够再次赋值。 4、 设计思路(实现原理)

1)编写一个Fu类,父类中定义一个变量X,并用final关键字修饰变量。 2)编写Zi类,Zi类继承于Fu类,在子类中对常量再赋新值。 3)定义测试类Example09,观察运行结果。

二、案例实现

1、编写Fu类及其子类Zi类,在Zi类中对X再赋值,代码如下:

class Fu { }

class Zi extends Fu { }

X = 20;//在子类中对常量再赋新值 public void method() { }

System.out.println(X); //final修饰的变量,也就是常量 public final int X = 10;

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

public class Example09{

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

12

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

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

}

编译错误,结果如图4-9所示。

图4-9 错误提示

三、案例总结

在本案例中Zi类中对变量X再次赋值,运行结果报错。这是因为Java中被final修饰的变量为常量,它只能被赋值一次,也就是说final修饰的变量一旦被赋值,其值不能改变。如果再次对该变量进行赋值,则程序会在编译时报错。

案例4-10 接口的实现 一、案例描述

1、 考核知识点

编 号:00104006 名 称:接口 2、 练习目标

? 掌握如何实现接口

3、 需求分析

由于接口中的方法都是抽象方法,因此不能通过实例化对象的方式来调用接口中的方法。此时需要定义一个类,并使用implements关键字实现接口中所有的方法。为了上初学者掌握如何实现接口,本案例将设计一个类,使用关键字implements实现Inter接口中的方法。

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

1)设计名为Inter的接口,接口中定义一个初始值为20的num常量和method()抽象方法。 2)编写Inter接口的实现类InterImpl,使用implements关键字实现接口中的方法。

3)编写测试类Example10,测试类中对接口的实现类进行实例化,并调用接口中的方法。

二、案例实现

1、编写接口Inter,InterImpl类使用implements实现了接口,代码如下:

//定义一个接口 interface Inter { }

13

int num = 20; void method();

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

// 使用implements关键字实现接口 class InterImpl implements Inter { }

void show() { }

public void method() { }

System.out.println(\System.out.println(num);

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

class Example10{ }

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

//通过实现类实例化

InterImpl ii = new InterImpl(); ii.show(); ii.method();

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

图4-10 运行结果

三、案例总结

1、接口使用interface关键字来定义。

2、接口没有构造方法,接口中的变量缺省都是使用public static final修饰的,即全局常量,接口中的方法都是public abstract修饰的,即抽象方法。

3、定义一个类,并使用implements关键字实现接口中的方法,一个类可以实现多个接口。

4、由于接口中的方法都是抽象方法,因此不能直接通过实例化对象的方式来调用接口中的方法,需要在类实现接口后借助类来间接实例化。

案例4-11 接口的继承 一、案例描述

1、 考核知识点

编 号:00104007

名 称:接口的继承与多实现

14

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

2、 练习目标

? 掌握接口继承的方式及其特点

3、 需求分析 在程序中,可以定义一个接口使用extends关键字去继承另一个接口。为了加深初学者对结果的理解,本案例将演示接口与接口、类与接口的继承和实现关系。

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

1)设计接口Phone代表传统手机,在接口中定义receiveMessages()和call()抽象方法。

2)设计接口SmartPhone代表智能手机,在接口中定义faceTime()方法,并使用extends关键字继承Phone接口,使其具有Phone接口的所有功能。 3)设计类MIPhone表示小米手机,类中定义useMIUI()方法,并实现SmartPhone接口的所有方法。 4)编写测试类Example11,测试类中对MIPhone进行实例化,并访问小米手机具有的各种功能。

二、案例实现

1、编写接口Phone和SmartPhone、类MIPhone。代码如下:

interface Phone { }

interface SmartPhone extends Phone { }

class MIPhone implements SmartPhone { }

public void receiveMessages() { }

public void call() { }

public void faceTime() { }

public void useMIUI() { }

System.out.println(\使用MIUI\System.out.println(\视频通话\System.out.println(\语音通话\System.out.println(\接收短息\void faceTime();

void receiveMessages(); void call();

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

public class Example11 {

public static void main(String[] args) {

MIPhone miPhone = new MIPhone(); miPhone.receiveMessages(); miPhone.call(); miPhone.faceTime();

15


第4章 面向对象(下)_补充案例(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017个人扶贫工作心得体会感想篇1

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: