首页 > 学院 > 开发设计 > 正文

007TheInheritanceInJAVA

2019-11-14 15:17:29
字体:
来源:转载
供稿:网友

java中有一个特型叫继承(Inheritance),通过继承我们可以重复使用代码,令代码简洁,易于扩展。例如:有一个sharp的类,这个类实现了sharp的一些方法,现在我们要写一个circle的类,我们想了想,呀circle属于sharp的一种呀,我们可以继承sharp呀!对,这就是继承的奥妙!

 

请看下面的代码:

/**  * @author gavin * 这是一个描述形状的类 */class Sharp {        public double area(){        return 0;    }        /*     * 或得面积较大的Sharp     */    static Sharp getLarger(Sharp a,Sharp b){        if (a.area()>b.area())            return a;        else            return b;    }}/** *  * @author gavin * 这是一个Circle类,继承Sharp */class Circle extends Sharp{        PRivate static final double PI = Math.PI;    private double radius=0;        Circle(int radius){        this.radius =radius;            }        public double area(){   //此方法覆盖了父类Sharp中的同名方法        return PI*this.radius*this.radius;    }        //注意,Circle 继承 Sharp,所以Circle拥有Sharp中的getLarger方法}/** *  * @author gavin * 这是一个Square类,继承Sharp */class Square extends Sharp{    private double side = 0;            Square(double side){        this.side = side;    }    public double area(){  //此方法覆盖了父类Sharp中的同名方法        return side*side;    }    //注意,Square 继承 Sharp,所以Square拥有Sharp中的getLarger方法        public static void main(String[] args){        Sharp a = new Circle(2);//一个父类可以有多个子类,如这里Sharp就有两个孩子,他们分别是Circle和Square。这里父类Sharp可以接受其所有子类的对象。        Sharp b= new Square(2);        Sharp larger = Sharp.getLarger(a, b);//父类Sharp不考虑它的子类是什么形状,会自动调用起子类对象的方法,因为方法被继承了。        System.out.println("面积较的形状的面积是:" + larger.area());            }    }

 


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表