多态,接口

本文详细阐述了多态的概念及其实现方式,包括父类引用指向子类对象的用法,instanceof运算符的使用,以及抽象类与接口的特点和区别。特别强调了抽象方法在抽象类中的作用及接口在定义规范标准方面的重要性。
摘要由CSDN通过智能技术生成

多态:同一个类,在不同时刻表现出不同的形态
    子类->父类:父类的引用指向子类的对象
        例如:
            Animal animal = new Cat();
    父类->子类:
        例如:
            Cat cat=(Cat)animal

    instanceof运算符:当前父类指向哪一个子类
        使用格式:
            对象  instanceof  类或接口
            父类的对象  instanceof  子类
        例如:
            animal instanceof Cat

父类的引用指向子类的对象访问成员
    只能访问父类成员,父类方法可以被子类修改(覆盖)

抽象abstract:父类不能实例话,父类中需要重写的方法不应该有代码体

    格式抽象类:
        权限访问修饰符 abstract class 类名
    格式抽象方法:
        权限访问修饰符 abstract 反返回值类型 方法名();

    特点:
        抽象方法必须在抽象类中,抽象类中可以有实体方法
        抽象类不能直接实例化(抽象类没有具体实例,实例化没有意义)
        抽象如何实例化?通过多态的方式,父类的引用指向子类的对象
        抽象类的子类要么必须重写抽象类中所有抽象方法,要么是抽象类

    抽象类中的成员特点
        成员变量
            可以有变量,可以有常量
        构造方法(不能用来创建对象)
            有构造方法但是不能实例化
            构造方法用于子类访问父类数据的初始化
        成员方法
            可以有抽象方法:子类必须重写父类抽象方法
            可以有非抽象(实体)方法:提高代码的复用性

接口:
    概述
        接口就是一种公共的规范标准,只要符合标准,大家都可以使用
        Java中的接口更多的体现在了对行为的抽象            

    定义接口
        格式:访问修饰符 interface 接口名{}
        范例:public interface AnimalImpl{}

    特点:
        接口不能实体类被继承,只能被实现
        接口之间可以继承,可以单继承和多继承
        类实现接口通过implements实现
    范例:public class 类名 implements 接口{}
    接口不能直接实例化
        通过多态的形式:接口 接口对象=new 实现类()
    接口的实现类
        要么重写接口中的所有抽象方法
        要么是抽象类

注意:
    接口类中通常只写抽象方法
    接口类中的抽象方法可以不用abstract修饰
    接口中的方法(非静态方法)默认都是抽象方法
接口中的抽象方法写在抽象类中不是也可以吗?为什么要分开?
    为了方便管理 
    属性在抽象父类中
    方法(方法重写)在就接口中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值