资讯专栏INFORMATION COLUMN

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

jerryloveemily / 2875人阅读

摘要:免费全网独家这是一份非常值得珍藏的知识体系一继承继承是什么简而言之,继承就是在现有类的基础上,增加新的方法或者重写基类的方法的一种方式。继承还是面向对象语言的基本特征继承多态和封装之一。


【免费】全网独家:这是一份非常值得珍藏的Android知识体系!!!


一、继承(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 多态的好处
降低代码耦合程度,更易于功能的扩展。


【免费】全网独家:这是一份非常值得珍藏的Android知识体系!!!


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/14201.html

相关文章

  • Java 面向对象特性多态

    摘要:多态性面向对象三大特性封装继承多态。面向对象多态性存在的三个必要条件继承重写父类引用指向子类对象多态性的实现方式重写与重载静态多态性方法重载方法重载允许类具有多个相同名称的方法,但是方法参数列表不同。 多态性 面向对象(OOP)三大特性:封装、继承、多态。 多态性(polymorphism)指同一行为具有多种不同表现形式,在面向对象程序设计中表现为同一消息可以根据发送对象的类型不同,做...

    _ang 评论0 收藏0
  • Java面试通关要点汇总集(基础基本功,非原作者)

    摘要:面试通关要点汇总集部分解答说明如果你有幸能看到的话,本文整体框架来自阿里梁桂钊的博文,总结的非常不错。这样做的目的是对内部数据进行了不同级别的保护,防止错误的使用了对象的私有部分。被继承的类称为基类和父类或超类。 showImg(https://segmentfault.com/img/remote/1460000013442471?w=1280&h=819); Java面试通关要点汇...

    smallStone 评论0 收藏0
  • 面向对象三个基本特征(javaScript)

    摘要:对象是公布其接口。节选自百度百科我对于封装的理解,可能还有一个步骤就是抽离,首先你要清楚在一个对代码中你应该抽离那些属性方法,有了这些为基础才能更好的做好封装。节选自百度百科因为是没有重载的概念的所以要自己编写逻辑完成重载。 1. 前言 2. 封装 3. 继承 4. 多态 5. 总结 1. 前言 了解过面向对象的同学应该都知道,面向对象三个基本特征是:封装、继承、多态,但是对于这三...

    IamDLY 评论0 收藏0
  • 10. java 重写重载

    摘要:重写继承的主要特性是子类可以根据父类已有功能的基础上进行扩展,但是也有可能对父类的属性和方法进行重写覆写。方法的重写当子类定义了与父类方法名称相同,参数列表相同以及返回值相同时,我们称之为方法的重写。 重写(Override) 继承的主要特性是子类可以根据父类已有功能的基础上进行扩展,但是也有可能对父类的属性和方法进行重写/覆写。 方法的重写 当子类定义了与父类方法名称相同,参数列表相...

    YorkChen 评论0 收藏0
  • 【金三银四】面试题java基础

    摘要:中,任何未处理的受检查异常强制在子句中声明。运行时多态是面向对象最精髓的东西,要实现运行时多态需要方法重写子类继承父类并重写父类中已 1、简述Java程序编译和运行的过程:答:① Java编译程序将Java源程序翻译为JVM可执行代码--字节码,创建完源文件之后,程序会先被编译成 .class 文件。② 在编译好的java程序得到.class文件后,使用命令java 运行这个 .c...

    Yangyang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<