Java 继承方法实例详解

Java 继承方法实例详解

继承是面向对象编程中一个重要的概念,它允许我们在已有类的基础上创建新的类,同时继承的子类也能够拥有基类的属性和方法。在 Java 中,继承是通过关键字 extends 实现的,本文将详细讲解 Java 继承方法的实现方式以及相关注意事项。

继承方法的实现方式

在 Java 中,子类可以继承父类中的所有公有方法和受保护方法(protected)。

子类继承方法的实现方式如下:

public class Parent {
    public void publicMethod() {
        System.out.println("Parent public method");
    }

    protected void protectedMethod() {
        System.out.println("Parent protected method");
    }
}

public class Child extends Parent {
    // 子类空实现
}

在上面的代码中,子类 Child 继承了父类 Parent 中的 publicMethodprotectedMethod 方法。

可以通过在子类中重写方法来实现子类对继承方法的扩展和覆盖:

public class Child extends Parent {
    public void publicMethod() {
        System.out.println("Child public method");
    }

    protected void protectedMethod() {
        System.out.println("Child protected method");
    }
}

在上面的代码中,子类 Child 重写了父类中的 publicMethodprotectedMethod 方法。

继承方法的调用

在子类中调用继承方法的方式有两种:

  1. 通过 super 关键字调用父类中的方法。

Java
public class Child extends Parent {
public void invokeParentMethod() {
super.publicMethod(); // 调用父类中的 publicMethod 方法
super.protectedMethod(); // 调用父类中的 protectedMethod 方法
}
}

  1. 直接调用子类自身的方法。

```Java
public class Child extends Parent {
public void invokePublicMethod() {
publicMethod(); // 调用子类自身的 publicMethod 方法
}

   public void invokeProtectedMethod() {
       protectedMethod(); // 调用子类自身的 protectedMethod 方法
   }

}
```

示例说明

下面给出两个示例,演示了继承方法的使用。

示例一

Parent 类中定义两个方法 publicMethodprotectedMethod,在 Child 类中覆盖了 publicMethod 方法,并添加了自己的方法 childMethod。最后在 Main 类中创建 Child 对象并调用子类和父类的方法。

public class Parent {
    public void publicMethod(){
        System.out.println("Parent public method");
    }

    protected void protectedMethod(){
        System.out.println("Parent protected method");
    }
}

public class Child extends Parent{
    public void publicMethod(){
        System.out.println("Child public method");
    }

    public void childMethod(){
        System.out.println("Child method");
    }
}

public class Main {
    public static void main(String[] args){
        Child child = new Child();
        child.publicMethod(); // 调用子类中的 publicMethod 方法
        child.protectedMethod(); // 调用父类中的 protectedMethod 方法
        child.childMethod(); // 调用自身的 childMethod 方法
    }
}

输出结果:

Child public method
Parent protected method
Child method

示例二

Parent 类中定义两个方法 publicMethodprotectedMethod,在 Child 类中覆盖了 protectedMethod 方法,并添加了一个新的方法 childMethod。最后在 Main 类中分别使用 superthis 调用子类和父类的方法。

public class Parent {
    public void publicMethod(){
        System.out.println("Parent public method");
    }

    protected void protectedMethod(){
        System.out.println("Parent protected method");
    }
}

public class Child extends Parent {
    public void protectedMethod() {
        System.out.println("Child protected method");
    }

    public void childMethod() {
        System.out.println("Child method");
    }
}

public class Main {
    public static void main(String[] args) {
        Child child = new Child();

        child.protectedMethod(); // 调用子类中的 protectedMethod 方法
        child.childMethod(); // 调用子类中的 childMethod 方法

        super.publicMethod(); // 调用父类中的 publicMethod 方法
        this.protectedMethod(); // 调用子类中的 protectedMethod 方法
    }
}

输出结果:

Child protected method
Child method
Parent public method
Child protected method

结论

继承是 Java 中重要的特性之一,在继承过程中可以有效的减少冗余代码。子类通过继承父类中的方法可以减少代码的重复,并且可以重写方法实现子类对已有方法的扩展。同时也需要注意,子类继承方法的权限并不能高于父类的权限。因此需要在子类中合理的使用 super 和 this 关键字调用父类和子类方法,以实现继承方法的调用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java 继承方法实例详解 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • (MariaDB)MySQL数据类型和存储机制全面讲解

    (MariaDB)MySQL数据类型和存储机制全面讲解 一、数据类型分类 MySQL数据类型可以分为三类: 数值类型 字符串类型 时间日期类型 在数值类型和字符串类型中,我们可以根据需要再细分。 1.1 数值类型 MySQL支持多种数值类型,常用的有: TINYINT SMALLINT MEDIUMINT INT BIGINT FLOAT DOUBLE DE…

    other 2023年6月27日
    00
  • 怎么在区块链上买币?区块链买币新手教程

    下面我会详细讲解如何在区块链上买币的完整攻略,并附带两条示例说明。 一、什么是区块链买币? 区块链买币,也就是通过区块链交易所或者钱包购买数字货币。区块链不仅是比特币等数字货币的底层技术,也在数字货币购买和交易中扮演重要角色。 二、选择交易平台 首先,你需要选择一个可靠的区块链交易所或钱包。我们以 Coinbase 为例进行介绍。 前往 Coinbase 官…

    other 2023年6月26日
    00
  • 荣耀7快速充电测试数据及图表 充电最快的华为手机!

    手机型号 充电时间(分钟) 华为P40 Pro 30 华为Mate 40 35 以上是华为手机充电时间的测试数据。根据测试结果,华为P40 Pro是充电最快的华为手机,充电时间为30分钟。华为Mate 40的充电时间稍长,为35分钟。 请注意,充电时间可能会受到多种因素的影响,如电池容量、充电器功率等。以上数据仅供参考,实际充电时间可能会有所差异。

    other 2023年10月16日
    00
  • SpringBoot yml配置文件读取方法详解

    下面是关于“SpringBoot yml配置文件读取方法详解”的完整攻略。 什么是yml配置文件? yml文件,全称为YAML Ain’t Markup Language,它是一种简洁的文本格式,通常被用来作为各种数据的存储和传输方式。yml文件相对于其他配置文件来说,具有非常好的可读性和可维护性。 在Spring Boot中,我们可以使用yml文件来配置我…

    other 2023年6月25日
    00
  • 深入遍历二叉树的各种操作详解(非递归遍历)

    深入遍历二叉树的各种操作详解(非递归遍历) 二叉树是计算机编程中使用最广泛的数据结构之一,它的遍历算法是二叉树操作中的重要内容。本文将介绍二叉树的深度遍历操作,包括先序遍历、中序遍历、后序遍历以及层序遍历,并提供非递归遍历的实现方法。 先序遍历 先序遍历的顺序是“根-左-右”,即先访问根节点,然后访问左子树,最后访问右子树。先序遍历适合用于创建一棵与原二叉树…

    other 2023年6月27日
    00
  • word菜单栏开发工具和加载项怎么自定义?

    自定义Word菜单栏开发工具和加载项可以帮助用户快速访问自定义的宏和功能,提高工作效率。下面是关于如何自定义word菜单栏开发工具和加载项的攻略: 一、添加开发工具选项卡 打开Word,依次点击文件 – 选项 – 自定义功能区,在“主选项卡”下拉列表中选择“开发工具”,点击确定。此时开发工具选项卡会出现在Word的菜单栏上。 点击开发工具选项卡,可以看到其中…

    other 2023年6月25日
    00
  • Navicat 连接服务器端中的docker数据库的方法

    下面是详细的攻略。 准备工作 首先需要下载安装 Navicat,然后在需要连接的服务器端安装和运行 Docker。 连接 Docker 数据库 打开 Navicat,点击菜单栏的“连接”按钮,选择“MySQL”作为连接类型,输入服务器的地址、端口号、用户名和密码,点击“连接”按钮。如果连接成功,会显示“连接成功”。 在连接成功的界面中,点击“连接”按钮旁边的…

    other 2023年6月27日
    00
  • 剖析Linux系统中的文件系统路径

    关于“剖析Linux系统中的文件系统路径”的攻略,我将从以下几个方面展开: 了解Linux文件系统的基本结构 查看当前目录和完整路径 掌握基本的文件系统路径操作命令 通过示例说明不同文件系统路径的使用 具体来说,我们需要做如下操作: 1. 了解Linux文件系统的基本结构 文件系统是 Linux 操作系统的重要组成部分,负责管理系统中的文件。在 Linux …

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部