- /*建立一个图形接口,声明一个面积函数。圆形和矩形都实现这个接口,并得出两个图形的面积。
- 注:体现面向对象的特征,对数值进行判断。
- 用异常处理。不合法的数值要出现"这个数值是非法的"提示,不再进行运算。
- 思路:
- 1,自定义异常,继承RuntimeException;
- 2,定义图形接口,定义抽象方法getArea();
- 3,定义矩形类实现图形接口,
- 定义成员变量及常量;
- 构造函数初始化:对成员变量进行判断,成员变量初始化;
- 复写父类接口的抽象方法getArea();
- */
- class NoValueException extends RuntimeException{
- NoValueException(String message){
- super(message);
- }
- }
- interface Shape{
- abstract void getArea();
- }
- class Rec implements Shape{
- private int len,wid;
- Rec(int len ,int wid){
- if(len<=0 || wid<=0)
- throw new NoValueException("出现非法值");
- this.len = len;
- this.wid = wid;
- }
- public void getArea(){
- System.out.println(len*wid);
- }
- }
- class Circle implements Shape{
- private int radius;
- public static final double PI = 3.14;//全局常量
- Circle(int radius){
- if(radius<=0)
- throw new NoValueException("非法");
- this.radius = radius;
- }
- public void getArea(){
- System.out.println(radius*radius*PI);
- }
- }
- class ExceptionTest{
- public static void main(String[] args){
- Rec r = new Rec(3,4);
- r.getArea();
- System.out.println("over");
- }
- }
复制代码 |
|