Android基础之Java多态、继承、重载和重写的区别



一、继承(inheritance)
1.1 继承是什么
简而言之,继承就是在现有类的基础上,增加新的方法或者重写基类的方法的一种方式。
继承还是面向对象语言的基本特征【继承、多态和封装】之一。

在Java中,java.lang.Object这个类是所有类的基类【也叫父类或者超类】。继承涉及到的两个关键字如下:

extends:      用于继承类,每个类最多只能继承一个父类
implements:   用于继承接口,每个类继承接口数量不做限制

该下面我们只是创建了一个Person类,且没有明确指定继承某个类,但是其基类默认为Object。

/**
  * 创建类: 人
  */
public class Person{
    //姓名
    public void name(){}

    //性别
    public void sex(){}
}

1.2 继承怎么用

public class JavaPolymorphic {

/**
  * 创建一个接口
  */
public interface IPerson{
  //接口中的方法
  void work();
}

/**
  * 创建类: 男人,并继承Person
  */
public class Man extends Person implements IPerson{
      /**
        * 重写了父类Person的name()方法
        */
       @Override
       public void name() {
          super.name();
      }

      /**
        * 重写了接口IPerson中的work()方法
        */
      @Override
      public void work() {}

      }
}

1、该上面类Man继承了父类Person和接口IPerson,此时就可选择性的重写父类Person中的方法,但是接口IPerson中所定义的所有接口必须实现重写。
2、如果类Man为抽象类(被abstract修饰),则继承父类或接口时,可选择不重写、部分重写或全部重写父类中的方法和接口中定义的接口。

二、重载(overloading)
2.1 重载是什么
一句话概括:在同一类中,有着相同名称,但形式参数不同的方法。
比如在上面类JavaPolymorphic中存在以下两个方法:

/**
 * @param age   年龄
 * @param name  姓名
 */
public Man(int age, String name){}

/**
 * @param city  城市
 */
public Man(String city){}

三、重写(overriding)
3.1 重写是什么
刚在上面例子也多次提到了重写,重写就是子类继承父类后,覆盖父类中的某个方法的操作就是重写的过程。

四、多态(Polymorphism)
4.1 多态是什么
继承是多态的一种表现形式,一个类型(Person类型)可表现出来多种状态(男人Man,并且具备年龄、姓名等不同属性)
多态同样也是面向对象语言的基本特征【继承、多态和封装】之一。
4.2 多态的好处
降低代码耦合程度,更易于功能的扩展。



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本文出自 Eddy Wiki ,转载请注明出处:http://eddy.wiki/interview-java.h...
    eddy_wiki阅读 4,952评论 0 5
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 7,652评论 0 11
  • 一、继承 当两个事物之间存在一定的所属关系,即就像孩子从父母那里得到遗传基因一样,当然,java要遗传的更完美,这...
    玉圣阅读 4,704评论 0 2
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,755评论 18 399
  • 江南,是氤氲的一首婉约词,是缠绵一阕朦胧诗,吟诵着远古的韵律,谱写着千古的传奇。一帘杏花微雨的江南,谁执一柄花折伞...
    美文小屋阅读 2,994评论 0 0

友情链接更多精彩内容