A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 362688114 中级黑马   /  2014-5-2 17:49  /  2740 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

视频里自定义一个异常类这一部分。
* 为什么自定义的这个异常类不能用public修饰?
* 运行后错误信息提示是:The public type exceptionDemo must be defined in its own file




  1. //自定义一个异常类,继承Exception类。
  2. class exceptionDemo extends Exception{  
  3.         private String msg; //定义一个字符串类型的成员变量
  4.         exceptionDemo(String msg) {  //新建一个带字符串类型参数的构造方法
  5.                 this.msg=msg;
  6.         }

  7.         public void getMsg(){   //定义一个输出错误信息提示的方法
  8.                 System.out.println("错误提示:"+msg);
  9.         }
  10. }


  11. //定义一个接口,该接口拥有一个图形共有的面积特征
  12. interface shape{  
  13.         abstract void are(double d) throws exceptionDemo; //获得面积的抽象方法
  14. }


  15. //定义一个类继承图形接口
  16. class circle implements shape{
  17.         public final double PI=3.14;  //final修饰的常量
  18.         public void are(double d) throws exceptionDemo{ //重写计算面积方法
  19.                 if(d<0)  //对参数判断如果不合适就抛出自定义的异常
  20.                         throw new exceptionDemo("非法");
  21.                 System.out.println(d*d*PI);
  22.         }
  23. }


  24. //测试类
  25. public class ziDingYiException {
  26.          public static void main(String[] args) {
  27.                 try {
  28.                         circle c=new circle(); //初始化类
  29.                         c.are(-1);  //调用计算面积的方法
  30.                 } catch (exceptionDemo e) {   //捕获异常,并进行处理
  31.                         System.out.println("错误信息:"+e.toString());
  32.                 }
  33.         }
  34. }
复制代码

6 个回复

倒序浏览
1.因为继承时,子类方法访问修饰符的权限不能小于父类的
2.错误信息是由这句话引起的 c.are(-1);  //调用计算面积的方法

认真看视频!!!

评分

参与人数 1技术分 +1 收起 理由
轻语。 + 1

查看全部评分

回复 使用道具 举报
多个类在源代码时,只能有一个类用public修饰。
回复 使用道具 举报
SyouRai_Tsk 发表于 2014-5-2 18:05
1.因为继承时,子类方法访问修饰符的权限不能小于父类的
2.错误信息是由这句话引起的 c.are(-1);  //调用计 ...

但自定义的异常类没有被继承
回复 使用道具 举报
skill20 发表于 2014-5-2 18:11
多个类在源代码时,只能有一个类用public修饰。

就是说,我的代码里定义了三个类,只有一个能被public修饰。
回复 使用道具 举报
在一个java源文件中,有且只能有一个类用public修饰,这个用public修饰的类名最好喝java源文件名相同。这样便于浏览和有意义。
回复 使用道具 举报
歌癫 发表于 2014-5-3 01:01
在一个java源文件中,有且只能有一个类用public修饰,这个用public修饰的类名最好喝java源文件名相同。这样 ...

thank you!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马