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()); } }
相关文章推荐
- Struts中的拦截器机制 --- 可插拔式设计
- RPC应用的java实现
- java文件切割
- Eclipse 如何安装并使用hibernate tools
- eclipse 常用快捷键
- MyEclipse启动卡死,解决办法
- eclipse-关于org.eclipse.wst.server.core
- Java内部类的调用
- spring mvc-文件上传
- Maven运行Java main方法区别: exec:java 和exec:exec
- shiro、SpringMVC权限控制
- 关于java命名规范及注释,并将javadoc的生成html
- 37-java数字猜大小
- java.net.SocketException: Unconnected sockets not implemented 解
- shiro、SpringMVC权限控制
- java之ssh
- ajaxfileupload.js、struts2、ajax、json异步上传图片
- 韩顺平循序渐进学java从入门到精通视频教程在线观看(总汇),1-94集全,以及视频和ppt,课后笔记
- 深入理解java虚拟机之java内存模型与线程,主要参考《深入理解java虚拟机》
- eclipse设置格式化模板