您的位置:首页 > 编程语言 > Java开发

java学习笔记——多态

2015-08-05 00:19 351 查看
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-

多态

多态的前提

要有继承或者实现关系

要有方法重写(可以不方法重写,但是这种多态一般没有意义)

有父类引用指向子类对象

概述

对象在不同时刻表现出来的不同的状态 针对引用类型

编译期间的状态 运行期间的状态 为了提高代码的扩展性和可维护性。

class Animal

{

String name;

int age;

public Animal(){}

public void speak(){

System.out.println(“我是父类”);}

}

class Dog extends Animal{

String Color;

public void speak(){

System.out.println(“我是狗类”);}

}

class cat extends Animal{

String Color;

public void speak(){

System.out.println(“我是猫类”);}

}

public class AnimalTest{

public static void main(String[] args){

Animal a=new Dog();

a.speak();

Dog b=new (Dog)Animal();

b.speak();

}

}

多态的成员特点

成员变量

编译运行都看左边,如果运行的父类中有这个变量就不会报错,运行看左边的结果是谁

成员方法

编译看左边,运行看右边。

多态的弊端和解决方法

父类引用不能使用子类特有的方法

解决方法父类向下转型 fu a= new (fu)zi();

类型转换异常 java.lang.ClassCastExcepton:类型转换异常。出现这个异常的原因是多态没有继承
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: