码迷,mamicode.com
首页 > 编程语言 > 详细

多态(Java)

时间:2016-05-26 22:04:55      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:

一、多态

1、什么是多态?

解析:不同的对象对于同一个操作,做出的响应不同

         具有表现多种形态的能力的特征

2、使用多态的优点

解析:为了实现统一调用

一个小例子:<父类类型作为参数>

父类(Pet) 子类(Gog,Penguin) 主人类(Master)测试类(Test)

Pet

public abstract class Pet {
    public abstract void eat();

}

Dog

技术分享
   public class Dog extends Pet{

    @Override
    public void eat() {
        System.out.println("够吃骨头");
        
    }
技术分享

Penguin  

技术分享
   public class Penguin extends Pet {

    @Override
    public void eat() {
        System.out.println("企鹅吃fish");
        
    }
技术分享

Master 

技术分享
public class Master {
    //父类类型作为参数
public void feed(Pet pet)
{
    pet.eat();
    }

}
技术分享

Test 

技术分享
    public static void main(String[] args) {
        Master master=new Master();
        
        Pet pet=new Dog();
        
        master.feed(pet);

    }
技术分享

二、子类到父类的转换(向上转型)

规则:

① 将一个父类的引用指向一个子类对象,成为向上转型,自动进行类型转换

② 此时通过父类引用变量调用的方法是子类覆盖或继承父类的方法,不是父类的方法

③ 通过父类引用变量无法调用子类特有的方法

三、java中两种实现和使用多态的方式

① 使用父类作为方法形参

② 使用父类作为方法返回值

四、父类到子类的转换(向下转型)

将一个指向子类对象的父类引用赋给一个子类的引用,称为向下转型。此时必须进行强制类型转换

五、instanceof运算符

语法:

对象 instanceof 类或接口

该运算符用来判断一个对象是否属于一个类或者实现了一个接口,结果为true或false

注:

① 使用instanceof运算符时,对象的类型必须和instanceof的第二个参数所指定的类或接口在继承树上有上下级关系,否则会出现编译错误

② instanceof通常和强制类型转换结合使用

 


多态(Java)

标签:

原文地址:http://www.cnblogs.com/hq-123/p/5532756.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!