Java程序设计项目教学全套课件教程眭碧霞电子资源电子课件 单元4任务3 添加求租客户信息设计.ppt

Java程序设计项目教学全套课件教程眭碧霞电子资源电子课件 单元4任务3 添加求租客户信息设计.ppt

ID:51963883

大小:433.50 KB

页数:14页

时间:2020-03-26

Java程序设计项目教学全套课件教程眭碧霞电子资源电子课件 单元4任务3 添加求租客户信息设计.ppt_第1页
Java程序设计项目教学全套课件教程眭碧霞电子资源电子课件 单元4任务3 添加求租客户信息设计.ppt_第2页
Java程序设计项目教学全套课件教程眭碧霞电子资源电子课件 单元4任务3 添加求租客户信息设计.ppt_第3页
Java程序设计项目教学全套课件教程眭碧霞电子资源电子课件 单元4任务3 添加求租客户信息设计.ppt_第4页
Java程序设计项目教学全套课件教程眭碧霞电子资源电子课件 单元4任务3 添加求租客户信息设计.ppt_第5页
资源描述:

《Java程序设计项目教学全套课件教程眭碧霞电子资源电子课件 单元4任务3 添加求租客户信息设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、单元4继承与多态——任务3添加求租客户信息设计多态性多态分为静态多态(编译时多态)和动态多态(运行时多态)静态多态:编译时多态通过方法重载实现,本质是用一个方法名来命名一组方法,这一组方法在参数个数、参数类型或次序上有区别,编译时编译程序进行匹配,决定调用哪一个方法。动态多态:运行时多态通过方法重写实现,是执行期间(而非编译期间)判断所引用对象的实际类型,根据实际类型调用其相应的方法。运行时多态—动态多态classShape{publicvoiddraw()//父类的draw()方法{System.out.pr

2、intln("drawaShape");}}classCircleextendsShape{publicvoiddraw()//重写父类的draw()方法{System.out.println("drawaCircle");}}classEllipseextendsCircle//定义子类Ellipse{publicvoiddraw()//重写父类的draw()方法{System.out.println("drawaEllipse");}}publicclassTest{publicstaticvoidmain

3、(Stringargs[]){Shapes=newShape();//动态绑定为类Shape对象Shapec=newCircle();//动态绑定为类Circle对象Shapee=newEllipse();//动态绑定为类Ellipse对象s.draw();//访问父类Shape方法c.draw();//访问子类Circle方法e.draw();//访问子类Ellipse方法}}drawaShapedrawaCircledrawaEllipse抽象类和抽象方法抽象类abstract修饰publicabstrac

4、tclass抽象类名{类体;}抽象方法abstract修饰权限修饰符abstract返回值类型方法名(形式参数列表);定义抽象类的目的:用它作为基类去创建派生类.抽象类的作用是作为一个类族中的共同基类图书类定义为抽象类抽象类和抽象方法的特点抽象类不能用new创建抽象类的实例(对象)。和具体类一样,类中可以有成员变量和成员方法,包括构造方法。但与具体类不同的是,抽象类中可以定义抽象方法。抽象方法只能出现在抽象类中,但抽象类中可以没有抽象方法。抽象类中的所有抽象方法必须在其非抽象子类中加以实现,否则子类也必须声明为

5、抽象类。抽象方法构造方法不能被声明为抽象方法。静态成员方法不能被声明为抽象方法(abstract和static不能同时存在)。任何包含抽象方法的类必须被声明为抽象类。示例//定义抽象类abstractclassAnimal{Stringstr;Animal(Strings){//定义抽象类的一般方法str=s;}abstractvoideat();//定义抽象方法}//定义继承Animal的子类classHorseextendsAnimal{Stringstr;Horse(Strings){super(s);/

6、/调用父类的构造方法}voideat(){//重写父类的抽象方法System.out.println("马吃草料!");}}//定义继承Animal的子类classDogextendsAnimal{Stringstr;Dog(Strings){super(s);}voideat(){System.out.println("狗吃骨头!");}}//测试类publicclassTest{publicstaticvoidmain(Stringargs[]){Animalh=newHorse("马");Animald=

7、newDog("狗");h.eat();d.eat();}}最终类和最终方法最终类final修饰不能被继承,即不能声明它的子类。目的:为避免盲目继承。抽象类不能被声明为最终类。它的方法默认是最终方法,但属性可以定义为final和非final。最终方法final修饰不能被它的子类覆盖(它只是说明这个方法已经固定下来,在当前类中和该类的子类中都一样)。最终类中的方法默认也是最终方法。final称为最终修饰符,可以用来修饰类,方法,属性,变量。public final class Math extends Objec

8、t     //数学类,最终类//父类PersonclassPerson{Stringname;publicPerson(){}//构造方法finalStringgetName()//最终方法{return"person";}}//子类StudentclassStudentextendsPerson{publicStudent(){}//构造方法//finalStringgetName

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。