Java语言高级编程继承、接口与多态教学目的:掌握继承原理掌握重写方法的几种方式明确初始化子类对象时父类对象也将被初始化掌握Object类中的几个重要方法掌握对象类型的转换掌握使用instanceof操作符判断对象类型掌握方法的重载掌握多态学会使用抽象类与接口技术掌握使用多态与接口技术项目1:java语言中的继承在面向对象技术的各个特点中,继承是最具有特色。继承实际上是存在于面向对象程序中的两个类之间的一种关系。当一个类获取另一个类中所有非私有的数据和操作的定义作为自己的部分或全部成分时,就称这两个类之间具有继承关系。被继承的类称为父类或超类,继承了父类或超类的所有数据和操作的类称为子类。在面向对象的继承特性中,还有一个关于单重继承和多重继承的概念。所谓单重继承,是指任何一个类都只有一个单一的父类;而多重继承是指一个类可以有一个以上的父类,它的静态的数据属性和操作从所有这些父类中继承。Java语言,出于安全、可靠性的考虑,仅支持单重继承。Java中的继承是通过extends关键字来实现的,在定义类时使用extends关键字指明新定义类的父类,就在两个类之间建立了继承关系。新定义的类称为子类,它可以从父类那里继承所有非私有(private)的属性和方法作为自己的成员。在父类的基础上定义子类的格式如下:[修饰符]class子类名extends父类名例如:classsubClassNameextendssupClass{ //声明变量; //方法定义;}Java中实现继承关系:代码如下:classAnimal//定义一个Animal父类{intheight,weight;voideat() { ("动物吃的行为方法。"); }voidsleep(){ ("动物睡觉的行为方法。"); }voidbreathe(){ ("动物呼吸的行为方法。"); }}classFishextendsAnimal//定义Fish为Animal的子类{}//Fish就继承了Animal父类的成员属性(变量)和方法;classtest{ publicstaticvoidmain(String[]args) { Animalan=newAnimal(); Fishfh=newFish(); (); =80; (); (); }}明确:子类可以从父类那里继承所有非私有(private)的属性和方法作为自己的成员子类可以从父类继承所有的方法和成员变量,但是不能继承构造方法。项目2:构造方法的“继承”若父类是无参数的构造方法,则子类(在实例化对象时)无条件使用该构造方法。若子类无构造方法,则它将继承父类的无参数构造方法作为自己的构造方法。若子类有自己的构造方法,在创建子类对象时,它将先执行父类无参数的构造方法,然后再执行自己的构造方法。注意:每一个子类构造方法的第一条语句,都是隐含的调用super();语句。classAnimal{intheight,weight;Animal() {("动物的构造方法。");}voideat() { ("动物吃的行为方法。"); }voidsleep(){ ("动物睡觉的行为方法。"); }voidbreathe(){ ("动物呼吸的行为方法。"); }}//***************************************************************************classFishextendsAnimal{ Fish() {("鱼的构造方法。");}}//*****************************************************************************classtest{ publicstaticvoidmain(String[]args) { Fishfh=newFish(); }}项目3:构造方法在子类中的使用原则若父类是有参数的构造方法,子类可以通过在自己构造方法中使用super关键字来调用它,但这个调用语句必须是子类构造方法中第一条可执行语句。classAnimal{intheight,weight;Animal(intl,intw) {("动物的构造方法。");}voideat() { Sy
Java语言高级编程 继承、接口与多态 来自淘豆网m.daumloan.com转载请标明出处.