Java学习 - 黑马(第二部分) - 随堂笔记 - 03_多态

本文主要探讨了Java中的多态概念,包括多态的概述、成员变量和方法的访问特点、多态带来的好处与弊端,以及转型的内存图解。通过猫和狗的案例,展示了如何在实际编程中应用多态思想。
摘要由CSDN通过智能技术生成

Java学习 - 黑马(第二部分) - 随堂笔记 - 03_多态

1. 多态

1.1 多态概述

同一个对象,在不同时刻表现出来的不同形态

举例:猫

我们可以说猫是猫:猫 cat = new 猫();

我们也可以说猫是动物:动物 animal = new 猫();

这里猫在不同的时刻表现出来了不同的形态,这就是多态

多态的前提和体现

  • 有继承/实现关系
  • 有方法重写
  • 有父类引用指向子类对象

1.2 多态中成药访问特点

  • 成员变量:编译看左边,执行看左边
  • 成员方法:编译看左边,执行看右边

为什么成员变量和成员方法的访问不一样呢?

  • 因为成员方法有重写,而成员变量没有
package com.itheima_01;

public class Animal {

    public int age = 4;

    public void eat(){
        System.out.println("动物吃东西。");
    }
}
package com.itheima_01;

public class Cat extends Animal{

    public int age = 2;
    public int weight = 10;

    @Override
    public void eat() {
        System.out.println("猫吃鱼。");
    }

    public void playGame(){
        System.out.println("猫捉迷藏。");
    }
}
package com.itheima_01;

public class AnimalDemo {
    public static void main(String[] args) {
        //有父类引用指向子类对象
        Animal a = new Cat();

        System.out.println(a.age);
        //System.out.println(a.weight);//报错

        a.eat();
        //a.playGame;//报错
    }
}

1.3 多态的好处和弊端

  • 多态的好处:提高了程序的扩展性
    • 具体体现:定义方法的时候,使用父类型作为参数,将来在使用的时候,使用具体的子类型参与操作
  • 多态的弊端:不能使用子类的特有功能
package com.itheima_02;

public class Animal {

    public void eat(){
        System.out.println("动物吃东西。");
    }
}

                
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Java中的接口是一种抽象的数据类型,它定义了类应该具有的方法和属性,但并不提供实现细节。它可以被看作是一种规范,让开发者知道他们需要实现的方法和属性。 接口可以被类实现,类实现接口时必须实现接口中定义的所有方法和属性。这种实现方式使得类可以具有多个接口的特性,从而实现了Java中的多重继承。 下面是一个简单的接口示例: ```java public interface Animal { void move(); void eat(String food); } ``` 上面的接口定义了两个方法`move()`和`eat(String food)`,类实现这个接口时必须实现这两个方法。 接口还可以继承其他接口,从而扩展接口的功能。下面是一个继承其他接口的接口示例: ```java public interface Bird extends Animal { void fly(); } ``` 上面的接口继承了Animal接口,同时添加了一个新的方法`fly()`。 接口还可以用于回调函数的实现,例如定义一个接口作为事件监听器,当某个事件发生时,回调函数会调用接口中定义的方法。 接口是Java中非常重要的概念,对于理解Java的多和抽象类等概念有很大的帮助。 ### 回答2: Java继承和多是面向对象编程中的重要概念,而接口是Java语言中实现多的方式之一。 继承是指一个类可以继承另一个类的属性和方法。通过使用关键字“extends”,子类可以继承父类的属性和方法,并且可以在子类中添加新的方法或属性。继承可以实现代码的重用,同时也体现了面向对象的特点。 多是指同一个类型的对象在不同的情况下表现出不同的行为。在Java中,多可以通过接口来实现。接口是一个抽象类的特殊形式,它定义了一组方法的签名,但没有实现这些方法的具体逻辑。一个类可以实现一个或多个接口,并实现接口中定义的所有方法。通过接口,我们可以将不同的类组织在一起,以实现类之间的松耦合和代码的重用。 接口定义了一组规范,而类则去实现这些规范。接口可以通过关键字“implements”来实现。通过实现接口,类必须实现接口中定义的所有方法。接口可以作为方法的参数类型或返回值类型,从而实现多的效果。 总之,学习Java继承和多之接口,我们能够更好地组织和管理代码,实现代码的重用和灵活性。接口的使用使得我们可以面向接口编程,而不是面向具体的类,从而提高了代码的可扩展性和可维护性。掌握这些概念,能够更有效地编写面向对象的Java程序。 ### 回答3: 在Java编程语言中,继承和多是重要的概念,而其中的接口是实现多的关键。接口是一种约定或契约,是一组方法的集合,但没有具体的实现。接口定义了一些必须实现的方法,而这些方法的具体实现则由实现接口的类来完成。 通过继承和实现接口,我们能够实现代码的重用和灵活性。继承允许一个类继承另一个类的属性和方法,而接口则定义了一组方法,使得不同的类能够被视为同一类型,从而实现多。 接口有两个主要的作用:规范和实现多。通过接口的规范,我们可以对各个类的方法进行统一管理和调用。这样一来,我们能够降低代码的重复性,改进代码的可读性和维护性。通过实现多,我们可以让一个对象以不同的形呈现,从而实现灵活性和扩展性。 在Java中,一个类可以实现一个或多个接口。通过实现接口,类必须实现接口中定义的所有方法。这样一来,我们可以根据接口的类型来引用不同的对象,而不需要关心具体实现的细节。 例如,我们有一个接口叫做Animal,定义了一个方法叫做move()。然后,我们有两个类,一个是Dog,一个是Cat,它们都实现了Animal接口。通过多性,我们可以使用Animal类型的引用来引用Dog和Cat对象,然后调用move()方法,而不用担心具体是哪个类的对象。 总之,学习Java的继承和多之接口是非常重要和有用的。接口能够帮助我们实现代码的重用、灵活性和扩展性。通过继承和实现接口,我们能够更好地组织和管理代码,提高代码的可读性和维护性,从而更高效地进行程序开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拾叶King

非常感谢您的支持和认同!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值