多态
2018-05-21 15:45 yelena 阅读(143) 评论(0) 编辑 收藏 举报定义:父类引用变量指向子类对象
前提:子父类继承关系 或者接口实现关系
格式:Fu f = new Zi();
成员变量的特点
成员属性:编译运行都看父类
成员方法:编译看父类,运行看子类
向上转型:多态本身 使用父类共性功能
向下转型:首先已经向上转型过的变量才能向下转型 使用子类特有功能
instanceof 向下转型时看父类变量是不是和子类类型匹配
格式:ZI z = (Zi) f;
package com.oracle.Demo02; public class Bilaoye { public void jiangke(){ System.out.println("历史"); } public void diaoyu(){ System.out.println("钓鱼"); } }
package com.oracle.Demo02; public class Bilaoshi extends Bilaoye { public void jiangke(){ System.out.println("英语"); } public void move(){ System.out.println("看电影"); } }
package com.oracle.Demo02; public class Test { public static void main(String[] args) { // TODO Auto-generated method stub Bilaoye bly = new Bilaoshi(); bly.jiangke(); bly.diaoyu(); if(!(bly instanceof Bilaoshi)){ System.out.println("类型不对"); return; } Bilaoshi bls = (Bilaoshi) bly; bls.move(); } }