在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()); } }

最新文章

  1. ASP.NET Razor - html中使用if else
  2. XML语言基础2 DTD
  3. 详解clientHeight、offsetHeight、scrollHeight
  4. throw跟throws关键字
  5. cocos2dx+lua注册事件函数详解
  6. pycharm 皮肤主题及个性化设置
  7. http://tedhacker.top/2016/08/05/Spring%E7%BA%BF%E7%A8%8B%E6%B1%A0%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95/
  8. 进程间通信IPC之--共享内存
  9. sudo easy_install MySQL-pythonubuntu常用命令
  10. 跨境移动互联网的魅力演绎,hao123无论成就下一个条目?
  11. AngularJS的相关应用
  12. 用ng-view创建单页APP
  13. 在ASP.NET Core中如何支持每个租户数据存储策略的数据库
  14. PHP strftime()函数输出乱码问题
  15. 【Nginx系列】Nginx虚拟主机的配置核日志管理
  16. sublime设置sublimeREPL-python-run current file 快捷键
  17. ubuntu配置neuwork网络
  18. 从Oracle数据库中查询前几个月数据时需要注意的一些问题
  19. lesson4-图像分类-小象cv
  20. BZOJ2458 Beijing2011最小三角形(分治)

热门文章

  1. CentOS 7.0系统安装配置图解教程
  2. linux 串口阻塞与非阻塞参数设置
  3. 81 Search in Rotated Sorted Array II
  4. java处理日期时间
  5. Elastic Search(一)
  6. sparkStreaming与Kafka整合
  7. BestCoder Round #85 hdu5778 abs(素数筛+暴力)
  8. POJ 3261 Milk Patterns (求可重叠的k次最长重复子串)+后缀数组模板
  9. codeforces 285 D. Permutation Sum 状压 dfs打表
  10. qt上用opencv显示摄像头视频