发布时间 : 星期一 文章第4章面向对象(下)_补充案例课件更新完毕开始阅读
博学谷——让IT教学更简单,让IT学习更有效
4、 设计思路(实现原理)
1)编写一个final关键字修饰的Fu类,类体可以为空 2)编写Zi类,Zi类继承于Fu类,类体可以为空 3)定义测试类Example06。
二、案例实现
1、编写final修饰的Fu类,Zi类继承Fu类,代码如下:
final class Fu { }
//Zi类继承final修饰的Fu类 class Zi extends Fu { }
// 类体为空代码 // 类体为空代码
2、定义测试类Example06,代码如下:
public class Example06{ }
public static void main(String[] args) { }
Zi zi = new Zi();
运行结果如图4-6所示。
图4-6 运行结果
三、案例总结
在Java中,被final关键字修饰的类为最终类,不能被其它类继承。
案例4-7 final修饰方法 一、案例描述
1、 考核知识点 编号:00104004 名称:final关键字 2、 练习目标
9
博学谷——让IT教学更简单,让IT学习更有效
? 掌握使用final关键字修饰方法
3、 需求分析
子类可以继承父类的成员方法,并在必要时对方法进行重写,增加了方法的扩展的同时也打破了方法的封装,如果我们希望父类中的某些方法不能被重写,这时就可以使用final关键字来修饰。为了让初学者掌握使用final关键字修饰方法,本案例将分别设计两个类,一个是Fu类,其中定义了final修饰的show()方法,另一个是继承Fu类的Zi类,在Zi类中对show()方法进行重写。 4、 设计思路(实现原理)
1)编写一个Fu类,类中定义final修饰的show()方法。
2)编写Zi类,Zi类继承于Fu类,在Zi类中对show()方法进行重写 3)定义测试类Example07,创建Zi类对象,并调用Zi类show()方法。
二、案例实现
1、编写Fu类及其子类Zi类,在Zi类中对show()方法重写,代码如下:
class Fu { }
class Zi extends Fu { }
//重写父类中final修饰的方法 public void show() { }
System.out.println(\这是一堆垃圾,给处理了\//final关键字修饰的方法 public final void show() { }
System.out.println(\这是绝密资源\
2、定义测试类Example07,代码如下:
public class Example07{ }
public static void main(String[] args) { }
Zi z = new Zi(); z.show();
运行结果如图4-7所示。
图4-7 运行结果
10
博学谷——让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();