软件构造学习笔记(一)

本文探讨了Java中的接口及其作用,解释了接口如何允许类“继承多个父类”,并强调其在规范开发和增强程序扩展性方面的重要性。同时,文章也区分了重写(override)和重载(overload)的概念,重写用于子类定制父类方法,而重载则是在同一类中根据参数不同实现多态。
摘要由CSDN通过智能技术生成

        该部分用以记录在学习过程中的一些疑惑以及解答。本文主要涉及了我接触Java后的一些疑惑以及我的一些理解。

一、接口有什么用?

        根据之前学过的部分C++知识,我知道在C++中,一个类是可以有多个父类的。而在Java中,一个类只能继承一个父类。这种关系可以理解为Java的类“只能有一个父亲”。

        只能继承一个父类是很麻烦的,这往往会增加很多重复性的代码。所以在我的理解中,接口的存在就是帮助一个类“继承多个父类”的。但是接口与类是不同的。接口是抽象方法的集合,所有继承这一接口的类都要实现接口中的抽象方法。当然,在Java8后,接口中也可以使用非抽象的方法。

        最初我是不理解这样的设计的。相较于C++,Java的这种要求使得每个继承某一接口的类都要实现所有的抽象方法。这也就意味着,(在Java8之前的版本,)这样的操作就会让我在多个类中重新写多遍一摸一样的代码,显然是效率低下的。

        但后来在网络上查找相应信息后,我理解的接口的用意。首先,接口的存在相当于给开发过程定义了某一规范,整个开发过程中,只需要符合这一规范即可,这也使得实际开发中可以做到分工协作。比如如果我的工作里要使用一个转字符串的方法,我就只需要保证输入满足条件即可,具体的实现则是其他人的工作。其次,接口的存在使得程序有了更强的扩展性。使用一个通俗的例子来说,比如要求打印一个新的类型的信息,不使用接口则要写很多很多的实现方法,而使用接口就可以免去这个操作。

二、重写(override)与重载(overload)

        区分重写与重载的定义。

重写:

        重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。

重载:

        重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。最常用的地方就是构造器的重载。

        我的理解为:重写就是“我可以不用我之前从父类继承来的某种方法,而是选择使用经我修改过的方法”(当然继承来的老方法也可以用,这时需要使用super关键字);重载就是“对于我可以实现的某种方法,我可以根据参数的不同进行不同的处理,这样就能处理多种情况了”。

        

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值