欢迎来到天天文库
浏览记录
ID:56150442
大小:113.00 KB
页数:15页
时间:2020-06-20
《Java语言高级编程继承、接口和多态.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Java语言高级编程继承、接口与多态教学目的:l掌握继承原理l掌握重写方法的几种方式l明确初始化子类对象时父类对象也将被初始化l掌握Object类中的几个重要方法l掌握对象类型的转换l掌握使用instanceof操作符判断对象类型l掌握方法的重载l掌握多态l学会使用抽象类与接口技术l掌握使用多态与接口技术项目1:java语言中的继承在面向对象技术的各个特点中,继承是最具有特色。继承实际上是存在于面向对象程序中的两个类之间的一种关系。当一个类获取另一个类中所有非私有的数据和操作的定义作为自己的部分或全部成分时,就称这两个类之间具有继承关系。被继承的类
2、称为父类或超类,继承了父类或超类的所有数据和操作的类称为子类。在面向对象的继承特性中,还有一个关于单重继承和多重继承的概念。所谓单重继承,是指任何一个类都只有一个单一的父类;而多重继承是指一个类可以有一个以上的父类,它的静态的数据属性和操作从所有这些父类中继承。Java语言,出于安全、可靠性的考虑,仅支持单重继承。Java中的继承是通过extends关键字来实现的,在定义类时使用extends关键字指明新定义类的父类,就在两个类之间建立了继承关系。新定义的类称为子类,它可以从父类那里继承所有非私有(private)的属性和方法作为自己的成员。在父类
3、的基础上定义子类的格式如下:[修饰符]class子类名extends父类名例如:classsubClassNameextendssupClass{//声明变量;//方法定义;}Java中实现继承关系:代码如下:classAnimal//定义一个Animal父类{intheight,weight;voideat(){System.out.println("动物吃的行为方法。");}voidsleep(){System.out.println("动物睡觉的行为方法。");}voidbreathe(){System.out.println("动物呼吸的行
4、为方法。");}}classFishextendsAnimal//定义Fish为Animal的子类{}//Fish就继承了Animal父类的成员属性(变量)和方法;classtest{publicstaticvoidmain(String[]args){Animalan=newAnimal();Fishfh=newFish();an.breathe();fh.height=80;System.out.println(fh.height);fh.breathe();}}明确:l子类可以从父类那里继承所有非私有(private)的属性和方法作为自己的成
5、员l子类可以从父类继承所有的方法和成员变量,但是不能继承构造方法。项目2:构造方法的“继承”Ø若父类是无参数的构造方法,则子类(在实例化对象时)无条件使用该构造方法。Ø若子类无构造方法,则它将继承父类的无参数构造方法作为自己的构造方法。Ø若子类有自己的构造方法,在创建子类对象时,它将先执行父类无参数的构造方法,然后再执行自己的构造方法。Ø注意:每一个子类构造方法的第一条语句,都是隐含的调用super();语句。classAnimal{intheight,weight;Animal(){System.out.println("动物的构造方法。");}
6、voideat(){System.out.println("动物吃的行为方法。");}voidsleep(){System.out.println("动物睡觉的行为方法。");}voidbreathe(){System.out.println("动物呼吸的行为方法。");}}//***************************************************************************classFishextendsAnimal{Fish(){System.out.println("鱼的构造方法。");}}
7、//*****************************************************************************classtest{publicstaticvoidmain(String[]args){Fishfh=newFish();}}项目3:构造方法在子类中的使用原则Ø若父类是有参数的构造方法,子类可以通过在自己构造方法中使用super关键字来调用它,但这个调用语句必须是子类构造方法中第一条可执行语句。classAnimal{intheight,weight;Animal(intl,intw){S
8、ystem.out.println("动物的构造方法。");}voideat(){System.out.println("
此文档下载收益归作者所有