黑马程序员技术交流社区
标题:
自定义异常类 小练习
[打印本页]
作者:
Johnny_Hu
时间:
2015-3-22 20:32
标题:
自定义异常类 小练习
package com.Painter.Try;
/*
* 需求 有一个圆形和长方形
* 都可以获取面积。对于面积如果出现非法的数值,视为是获取面积出现问题。
* 问题通过异常来表示。
* 现有对这个程序进行进本设计
*/
public class TryDemo3 {
public static void main(String[] args)
{
Rec rec = new Rec(5,6);
rec.getArea();
Circle circle = new Circle(10);
circle.getArea();
}
}
//自定义一个异常类 并继承RuntimeException
class NoValueException extends RuntimeException
{
//重载RuntimeException方法
NoValueException(String msg)
{
super(msg);
}
}
//圆形跟长方形都有个共同点 面积 那么就把面积设为接口
interface Shape
{
public abstract void getArea();
}
class Rec implements Shape
{
private int len,wid;
Rec(int len, int wid)
{
if(len<=0 || wid<=0)
{
throw new NoValueException("非法值");//判断两个传入的参数是否为0或者为负数,否则抛出异常
}
this.len = len;
this.wid = wid;
}
public void getArea()
{
System.out.println(len*wid);
}
}
class Circle implements Shape
{
public static final double PI = 3.14;
private int radius;
Circle(int radius)
{
if(radius<=0)
{
throw new NoValueException("非法值");//判断传入的参数是否为0或者为负数,否则抛出异常
}
this.radius = radius;
}
public void getArea()
{
System.out.println(radius*radius*PI);
}
}
复制代码
还有还可以优化的代码 请多多指点 谢谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2