首页 > 学院 > 开发设计 > 正文

面向对象-多态

2019-11-09 20:12:06
字体:
来源:转载
供稿:网友

继承是多态的基础,是指对象的多种形态 1.引用的多态 (1)父类的引用可以指向本类的对象 (2)父类的引用可以指向子类的对象 注意:子类的引用不能指向父类的对象 2.方法的多态 (1)创建本类对象时,调用的方法是本类的方法; (2)创建子类对象时,调用的方法是子类重写的方法或是继承的方法 注意:如果是子类独有的方法,那么无法通过父类的引用读取子类的方法

Animal类 (父类)

package com.wmy;public class Animal { public void eat(){ System.out.PRintln("动物具有吃的能力"); }}

Dog类(子类)

package com.wmy;public class Dog extends Animal { //重写父类的eat方法 public void eat(){ System.out.println("狗是吃肉的"); } //子类独有的方法 public void watchDoor(){ System.out.println("狗具有看门的能力"); }}

猫类(子类)

package com.wmy;public class Cat extends Animal {}

测试类

package com.wmy;public class Initial { public static void main(String[] args) { //引用多态 Animal obj1 = new Animal();//父类的引用可以指向本类的对象 Animal obj2 = new Dog();//父类的引用可以指向子类的对象 Dog obj3 = new Animal();//错 ,子类的引用不能指向父类的对象 //方法多态:都是指向父类对象,当指向不同的对象,调用方法时候执行不同的方法 obj1.eat(); //调用的方法是Animal类(父类)的方法 obj2.eat(); //调用的方法是Dog类(子类)的方法 Animal obj4 = new Cat();//父类的引用可以指向子类的对象 obj4.eat(); // 调用的方法是Cat类(子类)继承父类的方法 //如果是子类独有的方法,那么无法通过父类的引用读取子类的方法 obj2.watchDoor();//错 }}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表