美文网首页
二、Java面向对象-多态

二、Java面向对象-多态

作者: Lord丶轩莫言弃 | 来源:发表于2019-07-18 14:40 被阅读0次

1、对象的多种形态

  • 引用多态
    • 父类的引用可以指向本类的对象
    • 父类的引用可以指向子类的对象
  • 方法多态
    • 创建本类对象时,调用的方法为本类方法
    • 创建子类对象时,调用的方法为子类重写的方法或者继承的方法

注意:使用多态时,两个类必须出现继承关系。

2、引用多态代码示例

public class Animal{
    
}
public class Dog extends Animal{
    
}
public class Test{
    public static void main(String[] args){
        Animal animal1 = new Animal();
        Animal animal2 = new Dog(); // 父类的引用可以指向子类的对象
        // Dog dog = new Animal(); 错,父类可以指向子类,但是,子类不能指向父类
    }
}

3、方法多态代码示例

public class Animal{
    public void eat(){
        System.out.println("动物具有吃的能力");
    }
}
public class Dog extends Animal{
    public void eat(){
        System.out.println("狗是吃肉的");
    }
    
    public void watchDoor(){
        System.out.println("狗具有看门的能力");
    }
}
public class Cat extends Animal{
    
}
public class Test{
    public static void main(String[] args){
        Animal animal1 = new Animal();
        Animal animal2 = new Dog(); // 父类的引用可以指向子类的对象
        Animal animal3 = new Cat();
        // Dog dog = new Animal(); 错,父类可以指向子类,但是,子类不能指向父类
        animal1.eat();
        animal2.eat();
        animal3.eat();
        // animal2.watchDoor(); 错,不允许调用子类独有的方法
    }
}

相关文章

  • 二、Java面向对象-多态

    1、对象的多种形态 引用多态父类的引用可以指向本类的对象父类的引用可以指向子类的对象 方法多态创建本类对象时,调用...

  • 宅男知识大补丸 学多态 认包包

    java零基础入门-面向对象篇(十) 多态 面向对象的三大特征,封装,继承我们讲完了,这次来讲多态。 多态就是指一...

  • java基础系列02--面向对象

    java面向对象 封装(encapsulation) 继承(inheritance) 多态(polymorphis...

  • 面向对象三大特性(一):封装

    面向对象有三大特性:封装、继承和多态。注意,是面向对象的三大特性而不是Java的三大特性,Java只是面向对象语言...

  • 深入深刻深到不能再深的理解java中的重载和重写

    面向对象的三个特性 面向对象有三个重要的特性:多态,继承,封装。 多态的表现 多态的在java中的应用体现在方法的...

  • Java笔记

    Java基础 Java面试通关要点 1.面向对象的特征 封装 继承 多态 封装继承多态 2.final,final...

  • Java 面向对象-多态

    1.多态概述 什么是多态? 多种状态,通一个对象在不同情况下表现出不同的状态或行为 Java中实现多态的步骤 ·要...

  • Java 面向对象——多态

    什么是多态 多态调用表现为:表面看起来你对父类调用了一个方法,实际上在方法的响应过程中由子类(方法的接收者)根据自...

  • Java面向对象——多态

    面向对象三大特征: 继承、封装、多态 多态(polymorphism) 多态性是OOP中的一个重要特性,主要是用来...

  • java面向对象,多态,抽象,接口

    day09笔记【java面向对象,多态,抽象,接口】 1 多态的概述及其代码体现 A:多态(polymorphic...

网友评论

      本文标题:二、Java面向对象-多态

      本文链接:https://www.haomeiwen.com/subject/ledllctx.html