2022/06/11 day12:多态

本文深入探讨Java中的多态性,包括多态的概述、格式与使用,以及引用类型转换。多态性允许父类引用指向子类对象,使得代码更加灵活。通过接口多态性的案例,解释了如何实现笔记本电脑使用USB设备(如鼠标和键盘)的功能,强调了多态在软件设计中的重要性。
摘要由CSDN通过智能技术生成

2. 多态

2.1 概述

在这里插入图片描述

2.2 多态的格式与使用

代码当中体现多态性,其实就是一句话:父类的引用指向子类对象。
‘左父右子’ 就是对象的多态
格式:
父类名称 对象名 = new 子类名称(); //一只猫被当做一个动物看待是没有什么问题的
或者: //这里子类就是父类,子类被当做父类来看待了
接口名称 对象名 = new 实现类名称(); //这就是对象的多态性

public class Fu {
   
    public void methodFu(){
   
        System.out.println("父类特有方法");
    }

    public void method(){
   
        System.out.println("父类方法");
    }
}
public class Zi extends Fu{
   


    @Override
    public void method() {
   
        System.out.println("子类方法");
    }
}
public class Demo01Multi {
   
    public static void main(String[] args) {
   
        //使用对态的写法
        //左侧父类的引用,指向了右侧子类的对象
        Fu obj = new Zi();
        obj.method();
//        obj.methodFu();
    }
}

多态中成员变量的使用特点:
访问成员变量的两种方式:

  1. 直接通过对象名称访问成员变量:看等号左边是谁,优先用谁,没有则向上找。
    //成员变量重名是没有覆盖重写的。但这个时候,如果父类没有,是父类是不会向下查找的。
  2. 间接通过成员方法访问成员变量:看该方法属于谁,优先用谁,没有则向上找。【继承是存在,父类的成员还是属于父类】
public class Fu /*extends Object*/{
   
   int num = 20;
   int num1 = 40;

   public void showNum(){
   
       System.out.println("父类num" + num);
   }

   public void showNum1(){
   
       System.out.println("父类num1:" + num1);
   }

}
public class Zi extends Fu{
   
    int num = 30;
    int avg = 16;

    @Override
    public void showNum(){
   
        System.out.println(num);
    }
}
public class Demo01MultiField {
   
    public static void main(String[] args) {
   

        //使用多态的写法,父类引用指向子类对象
        Fu obj = new Zi();
        System.out.println(obj.num);//这可能是唯一一种直接访问父类的成员变量的方式。
//        System.o
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值