多态

父类

public class Uncle {
private String name;
private int aeg;

public  void faHongbao(){
    System.out.println("舅舅发红包");
}

}

子类一:

public class UncleOne extends Uncle {
public void faHongbao() {
System.out.println("大舅不仅发红包,还送烟");

}
    public void chouyan () {
        System.out.println("大舅喜欢抽烟");

    }
}

子类二:

public class UncleTow extends Uncle{
public void faHongbao() {
System.out.println("二舅发红包");
}
}

多态

public static void main(String[] args) {
// 多态
Uncle uncle1 = new UncleOne();
uncle1.faHongbao();
Uncle uncle2 = new UncleTow(); // // 向上转型
uncle2.faHongbao();
多父类名接受子类创建的对象,只能调用父类出现过的方法,子类的扩展的独有方法无法调用

public static void main(String[] args) {
// 多态
Uncle uncle1 = new UncleOne();
uncle1.faHongbao();
//uncle1.chouyan(); 不能调用
向上转型

Uncle uncle2 = new UncleTow(); // // 向上转型
uncle2.faHongbao();
向下转型

Uncle uncle =new uncleOne;
UncleOne u1 = (UncleOne) uncle1;// 向下转
u1.faHongbao();
u1.chouyan();
instanceof

判断对象是否给定的类的实例

作用:避免类型转换时,出现错误,进而引发程序的崩溃
public class Demo01 {
public static void main(String[] args) {
Uncle uncle1 = new UncleOne();
if (uncle1 instanceof UncleTow) {
UncleTow u2 = (UncleTow) uncle1;
u2.faHongbao();
}
if ( uncle1 instanceof UncleOne){
UncleOne u1 = (UncleOne) uncle1;
u1.faHongbao();
u1.chouyan();
}
}
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 多态 父类 子类一: 子类二: 多态 多父类名接受子类创建的对象,只能调用父类出现过的方法,子类的扩展的独有方法无...
    183273ecfd71阅读 1,033评论 0 0
  • 多态 父类 子类一: 子类二 多态 用父类接受子类的对象,只能调用父类中出现过的方法,子类的扩展的都有方法无法调用...
    5bc955cb7ed1阅读 949评论 0 0
  • 第2章 多态2.1 多态概述多态是继封装、继承之后,面向对象的第三大特性。现实事物经常会体现出多种形态,如学生,学...
    葡小萄家的猫阅读 8,439评论 1 6
  • 目录: 面向对象的三大特征:封装、继承、多态包方法重写superinstanceof 面向对象的三大特征:封装、继...
    Ansaxnsy阅读 4,860评论 2 6
  • 1.多态概述 什么是多态? 多种状态,通一个对象在不同情况下表现出不同的状态或行为 Java中实现多态的步骤 ·要...
    ttlidx阅读 1,729评论 0 0