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

java 多态

时间:2017-06-24 14:46:38      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:div   isp   方法   pen   没有   instance   不能   调用   int   

 

技术分享
package com.mydemo.controller;
/**
 * 多态
 * java 多态有三个条件:
 * 1、继承 2、重写 3、父类引用指向子类对象
 * -------------------------------------
 * java 父类引用不能访问子类成员变量
 * 需要强转
 * 在强转前还要 instanceof, 不instanceof 也可以,但为了程序的健壮性,建议强转
 * -------------------------------------
 * 但调用子类重写的方法因为有多态,就不需要强转了
 */
public class TestAnimal {
    public static void main(String[] args) {
        Animal dog = new Dog("大黄", "黄");
        dog.enjoy();
        /* 下面一行实际上并没有强转,dog还是一只Animal,
         * 因为dog 引用在声明时是Animal
         */
        dog = (Dog)dog;
//        System.out.println(dog.furColor);
        Dog bigYellow = (Dog)dog;
        System.out.println(bigYellow.furColor);
    }
}

class Animal {
    public String name;
    public Animal(String name) {
        this.name = name;
    }
    public void enjoy() {
        System.out.println("叫……");
    }
}

class Dog extends Animal {
    public String furColor;
    public Dog(String name, String furColor) {
        super(name);
        this.furColor = furColor;
    }
    public void enjoy() {
        System.out.println("狗叫……");
    }
}
View Code

 

java 多态

标签:div   isp   方法   pen   没有   instance   不能   调用   int   

原文地址:http://www.cnblogs.com/BaiLaowu/p/7073272.html

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