面向对象——上转型

本文探讨了面向对象编程中的上转型概念,包括上转型对象的使用限制和优势,以及final、abstract关键字的作用。同时,详细阐述了接口在Java中的应用,如接口的定义、实现以及与抽象类的区别,并介绍了接口回调的概念和示例。
摘要由CSDN通过智能技术生成

面向对象——上转型

定义

父类声明,子类实例化的对象称为上转型对象。

上转型对象的使用

  • 上转对象不能操作子类新增的成员变量,失掉了这部分属性,不能使用子类新增的方法,失掉了一些功能。

  • 上转型对象可以操作子类继承的成员变量,也可以使用子类继承的或重写的方法。

  • 如果子类重写了父类的某个方法后,当对象的上转型对象调用这个方法时一定是调用了子类重写的方法。因为程序在运行时知道,这个上转对象的实例是子类创建的,只不过损失了一些功能而已。

  • 可以将上转型对象再强制转换为一个子类对象,此时对象又具备了子类所有属性和功能(即将上转型对象还原为子类对象)。

  • 不可以将父类创建的对象赋值给子类声明的对象。

关键字final

final关键字可以用来修饰类、方法和变量。

  • final修饰的类不能被继承。

  • final修饰的方法不能被重写。

  • final修饰的变量是常量,不能修改其值。

关键字abstract(抽象)

  • abstract关键字可以用来修饰类和方法。

  • 由abstract修饰的类叫做抽象类,该类不能被实例化,也就是不能使用关键字new来创建该类对象。

  • 由abstract修饰的方法叫做抽象方法,抽象方法只有声明部分,而没有具体的方法体。

抽象类重要规则

  • 如果一个非抽象类是一个abstract类的子类,它必须具体实现父类的**所有**abstract方法,抽象类也可以继承抽象类,但是不用实现抽象父类中的abstract方法。

  • 如果一个类中含有abstract方法,那么这个类必须用abstract来修饰(abstract类也可以没有abstract方法,但abstract方法必须出现在abstract类中)。

  • 一个abstract类只关心它的子类是否具有某种功能,并不关心功能的具体行为,功能的具体行为由子类负责实现。

接口

  • 当一个抽象类中的方法全部为抽象方法时,可以使用interface关键字将这个抽象类定义为接口。

  • 在java中一个类只能有一个父类,如果某个类需要继承多个类的变量(状态)和方法(行为&#x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值