Java面向对象多态类

150 阅读1分钟

多态概念

多态性是指同一个操作作用于某一类对象,可以有不同的解释,产生不同的执行结果

多态存在的三个必要条件:

1.需要存在继承和实现关系

2.同样的方法调用而执行不同操作、运行不同代码(重写)

3.在运行时,父类或者接口的引用变量可以引用其子类的对象

多态的作用:

1.多态通过分离做什么和怎么做,从一个角度将接口和实现进行分离

  1. 多态消除了类型之间的耦合关系

3.多态的存在提高了程序的拓展性和后期的可维护性

案例:

abstract class Animal{

String name;

abstract public void eat();

}

class Animal

{

String name;

public void eat(){};

}

class Dog extends Animal

}

public void eat() {

System.out.println("大鱼吃小鱼");

}

}

class Cat extends Animal

{ public void eat() {

System.out.println("猫吃鱼");

}

}

public class Test {

public static void main(String[] args) {

Animal an1 = new Dog();

Animal an2 = new Cat();

an1.eat();

an2.eat();

}

}

对象的上下转型

1.由子类转型成父类,在继承图上是向上移动的,一般称为向上转型

2.向上转型是从一个较专用类型向通用类型转换,所以总是安全的,也就是说,子类是父类的超集

3.向上转型过程中,类接口中唯一可能发生的事情是丢失方法,而不是获取方法

4.向下转型,不安全

用法:

result:布尔类型
object:必选项,任意对象表达式
class:必选项,任意已定义的对象类