您的位置:首页 > 编程语言 > Java开发

007 The Inheritance In JAVA

2015-10-27 13:37 561 查看
在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());

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: