007TheInheritanceInJAVA

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

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

请看下面的代码:

/***@authorgavin

* 这是一个描述形状的类*/classSharp {publicdoublearea(){return0;

}/** 或得面积较大的Sharp*/staticSharp getLarger(Sharp a,Sharp b){if(a.area()>b.area())returna;elsereturnb;

}

}/***

*@authorgavin

* 这是一个Circle类,继承Sharp*/classCircleextendsSharp{PRivatestaticfinaldoublePI =Math.PI;privatedoubleradius=0;

Circle(intradius){this.radius =radius;

}publicdoublearea(){//此方法覆盖了父类Sharp中的同名方法returnPI*this.radius*this.radius;

}//注意,Circle 继承 Sharp,所以Circle拥有Sharp中的getLarger方法}/***

*@authorgavin

* 这是一个Square类,继承Sharp*/classSquareextendsSharp{privatedoubleside = 0;

Square(doubleside){this.side =side;

}publicdoublearea(){//此方法覆盖了父类Sharp中的同名方法returnside*side;

}//注意,Square 继承 Sharp,所以Square拥有Sharp中的getLarger方法publicstaticvoidmain(String[] args){

Sharp a=newCircle(2);//一个父类可以有多个子类,如这里Sharp就有两个孩子,他们分别是Circle和Square。这里父类Sharp可以接受其所有子类的对象。Sharp b=newSquare(2);

Sharp larger= Sharp.getLarger(a, b);//父类Sharp不考虑它的子类是什么形状,会自动调用起子类对象的方法,因为方法被继承了。System.out.println("面积较的形状的面积是:" +larger.area());

}

}

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航