- 1、本文档共42页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java面向象对编程进阶
第5章 Java面向对象编程进阶 ;abstract class Shape // 说明一般二维图形抽象类
{
abstract double area(); //计算图形面积的方法
abstract void draw(); //绘制图形的方法
};class Rectangle extends Shape
{ //矩型类Rectangle继承了Shape类
int width; //矩形的宽
int length; //矩形的长
punlic double area()
{
return width*length //矩形类实现了Shape类的抽象方法area()
}
public void draw()
{ … } //这里要实现Shape类的抽象方法draw()
} ;5.3 继承; 在Java编程语言中,通过继承可利用已有的类,并扩展它的属性和方法。这个已有的类可以是语言本身提供的、其他程序员编写的或程序员原来编写的。
如果在声明类A时,指明类A继承了类B(类B是一个已定义了的类),则类A通常就拥有了类B的成员变量和方法。此时,类B称为类A的父类(superclass),父类也称为超类或基类;类A称为类B的子类(subclass),子类也称为派生类。Object类是Java中所有类的父类,也就是说Java中的类直接或间接有Object类派生而来。
Java中实行单继承,即一个类只能有一个父类。; 一个类只可继承一个父类,但一个类可以有被多个子类继承。因而类之间的关系就形成了所谓的树形层次结构:
……
…… ……
; 类继承语法形式如下:
[修饰符] class SubClassName extends SupperClassName
extends是继承关键词。SubClassName是新的子类名,SupperClassName是继承的父类名。父类名是必需的,而且只能有一个,因为Java中实行单继承。父类名所指定的类必须是在当前编译单元中可以访问的类,否则会产生编译错误。 ;例. 5-2子类与父类 ; 子类可以对父类的方法覆盖或重载。
方法覆盖: 子类的方法首部与父类的方法首部相同,但是子类重新实现了该方法。
方法重载: Java中方法可重载, 就是方法名相同但形参列表不同之方法。 子类的方法对父类的方法也可重载。; (1)它可以利用已有的类来创建自己的类,只需要指出自己的类和??有的其它的类有什么不同即可,而且还可以动态访问其它有关的类中的信息。
(2)通过继承,可以利用Java类库所提供的丰富而有用的类,这些类都已经被很好地实现。
(3)当设计很大的程序时,继承可以使程序组织得更加层次清晰,有利于程序设计和减少错误的发生。
; public Point() //构造方法, 构造原点(0,0)
{ x=0; y=0; }
public Point (int X, int Y) //构造方法,按给定的X、Y 值
{ x=X ; y=Y; } //构成一个点(X,Y)
public double distance() //定义方法,求点到坐标原点的距离
{ return Math.sqrt(x*x+y*y); } //调用Math类的方法sqrt()
public static void draw() //类方法draw(),画点
{System.out.println(Point: a point. ); }
};class ColorPoint extends Point
{int color;
public static void draw() //复盖了父类的draw()方法
{ System.out.println(“ColorPoint: a color point.”); }
}
class MapPoin
文档评论(0)