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

2019-05-18 13:31

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

二、案例实现

public class Example18 { }

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

public static int div(int x, int y) throws Exception { }

// 如果除数传递了0进来,这个程序就出现了异常 if (y == 0) { }

return x / y;

// 发生异常自己不处理,谁调用谁处理 // 需要在方法上进行抛出: throws 异常类 throw new Exception();

System.out.println(\除法运算开始\try {

div(1, 0);

} catch (Exception e) { }

System.out.println(\除法运算结束\

System.out.println(\处理运算异常\

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

图4-18 运行结果

三、案例总结

1、throws关键字声明抛出异常的语法格式如下:

修饰符 返回值类型 方法名([参数1,参数2.....])throws ExceptionType1[,ExceptionType2.....]{ }

2、throws关键字需要写在方法声明的后面,throws后面需要声明方法中发生异常的类型,通常将这种做法称为方法声明抛出一个异常。

26

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

案例4-19 自定义异常 一、案例描述

1、 考核知识点

编 号:00104015 名 称:自定义异常 2、 练习目标

? 掌握如何自定义异常

3、 需求分析

Java中定义的异常有限,如果想描述程序中特有的异常情况,就需要自定义异常。为了让初学者熟悉自定义异常,本案例将自定义一个名为MyException的异常类来演示如何自定义异常。 4、 设计思路(实现原理)

1)自定义名为MyException的异常类,继承自Exception类。

2)在Example19类中进行除法运算,判断当除数为零时,抛出自定义的异常类 3)在main()方法中处理异常。

二、案例实现

1、编写自定义异常类,代码如下:

class MyException extends Exception { }

private int number;

MyException(String message) { }

MyException(String message, int number) { }

public int getNumber() { }

return number; super(message); this.number = number; super(message);

2、抛出异常和处理异常,代码如下:

public class Example19 {

public static void main(String[] args) {

try {

divide(20, 0);

} catch (MyException my) { }

27

System.out.println(\你给的除数是:\而我们要求是:\

+ my.getMessage());

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

}

}

public static int divide(int a, int b) throws MyException { }

if (b = 0) { }

throw new MyException(\除数不能为零\return a / b; } else {

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

图4-19 运行结果

三、案例总结

1、在Java中允许用户自定义异常,但自定义的异常类必须继承自Exception或其子类。 2、throw关键字用于在方法中声明抛出异常的实例对象,其语法格式如下:

throw Exception异常对象

3、main()方法中,定义了一个try…catch语句用于捕获divide()方法抛出的异常。在调用divide()方法时由于传入的被除数不能为零,程序会抛出一个自定义异常MyException,该异常被捕获后最终被catch代码块处理,并打印出异常信息。

案例4-20 import引入指定类 一、案例描述

1、 考核知识点

编 号:00104017 名 称:import语句

2、 练习目标

? 掌握如何使用import引入指定类

3、 需求分析

不同包下的类互相调用时,一般会使用import关键字引入包。为了方便初学者的学习,本案例将演示如何使用import引入指定类。

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

1) 在D:\\samplePackage\\chapter04 文件夹下新建Student.java文件

2) 打开文件编写Student类,类中定义int类型的变量sid,String类型的变量name和double类型的

变量score,分别表示学生id,学生姓名和分数。

2)Student类定义构造器及一个evaluation()方法,该方法用于评定学生是否为三好学生,得分大于90

28

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

分为三好学生,否则为普通学生。Student类编译后位于cn.itcast.domain包下。

3)在D:\\samplePackage\\chapter04 文件夹下新建Example20.java文件,打开文件编写Example20类,在main方法中使用有参构造创建Student类的对象并调用evaluation()方法

4)Example20类编译后位于cn.itcast.example包下,在类中使用import cn.itcast.domain.Student;引入Student类。

二、案例实现

1、编写Student类,该类位于cn.itcast.domain包下,代码如下所示:

package cn.itcast.domain; public class Student { }

private int sid; private String name; private double score; public Student() {}

public Student(int sid, String name, double score) { }

public int getSid() { }

public String getName() { }

public double getScore() { }

//评定是否是三好学生

public String evaluation() { }

if (getScore() > 90) { }

return \普通学生\

return \三好学生\return score; return name; return sid; this.sid = sid; this.name = name; this.score = score;

2、编写Example20类,该类位于cn.itcast.example包下,代码如下所示:

package cn.itcast.example; import cn.itcast.domain.Student; public class Example20 {

public static void main(String[] args) {

int sid = 18;

29

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

}

}

String name = \马化腾\double score = 99.2;

Student stu = new Student(sid, name, score);

System.out.println(stu.getName()+\当选\

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

图4-20 运行结果

三、案例总结

1、当处于不同包下的类互相调用时,需要使用被调用类的完整类名,即包名加上类名。为了简化代码,Java中提供了import关键字,用于引入某个指定包下的类。 2、import通常出现在package语句之后,类定义之前。

3、当需要引入同一包下的多个类时,可以使用“import包名.*;”的方式,引入包下所有的类。

30


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

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

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

马上注册会员

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