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日

相关文章

  • C++超详细分析单链表的实现与常见接口

    C++超详细分析单链表的实现与常见接口 什么是单链表? 单链表,英文名为“Singly Linked List”,简称链表,是一种常用的数据结构,它是由若干个节点组成的,每个节点都包含了一个数据域和一个指向下一个节点的指针域。单链表的特点是以节点为单位,可以进行快速的插入和删除操作,但是随机访问就比较慢。 单链表的实现 定义节点类 在C++中,单链表可以通过…

    other 2023年6月27日
    00
  • 【python】如何切换浏览器的tap页?

    当需要在Python中切换浏览器的标签页时,可以使用Selenium库中的switch_to.window()方法。以下是一个完整攻略,介绍了如何在Python中切换浏览器的标签页: 步骤1:打开浏览器并访问网页 首先,需要使用Selenium库打开浏览器并访问网页。以下是一个示例: from selenium import webdriver # 打开Ch…

    other 2023年5月6日
    00
  • vue判断字符串长度

    以下是“Vue判断字符串长度”的完整攻略: Vue判断字符串长度 在Vue中,我们可以使用JavaScript的length属性来获取字符串的长度。以下是判断字符串长度的步骤: 1. 获取字符串 首先,我们需要获取要判断长度的字符串。可以使用以下代码: new Vue({ el: ‘#app’, data: { str: ‘Hello, world!’ } …

    other 2023年5月7日
    00
  • Win8怎么恢复系统 轻松重装Win8系统的方法(图文教程)

    Win8系统恢复与重装完整攻略 恢复系统 在某些情况下,我们可能需要恢复Win8系统到之前某一个时间点的状态,这时候就需要使用Win8自带的恢复工具。具体操作如下: 打开“控制面板”,点击“系统和安全”选项。 在“系统和安全”界面中,点击“文件历史记录”选项。 在“文件历史记录”界面中,点击“恢复个人文件”选项。 接下来会弹出“恢复文件”窗口,按照提示选择需…

    other 2023年6月20日
    00
  • Vcenter server 5.5安装部署

    Vcenter server 5.5安装部署 Vcenter server是一种基础架构管理工具,用于在虚拟化环境中管理和监控多个虚拟机。本文将介绍如何安装和部署Vcenter server 5.5。 1. 硬件和软件要求 在安装之前,请确保您的计算机系统符合Vcenter server 5.5的要求: 硬件要求 至少4个CPU内核 16GB RAM 10G…

    其他 2023年3月28日
    00
  • Android自定义UI手势密码简单版

    下面我来详细讲解 “Android自定义UI手势密码简单版” 的完整攻略。 一、背景知识 在开始讲解制作手势密码的过程之前,需要先了解一下Android中常用的一些UI控件,例如:View、Canvas、Path、Paint等。其中,View是Android中最基础的UI控件,Canvas是用于绘制的基础容器,Path用于描述绘制图形的路径,Paint用于设…

    other 2023年6月25日
    00
  • Can’t connect to local MySQL through socket ‘/tmp/mysql.sock’解决方法

    当在本地MySQL中进行连接时,可能会遇到以下错误消息: Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ 出现此错误消息的原因是mysql.sock文件不在/tmp目录中,因此MySQL无法找到该文件以建立连接。 下面介绍三种解决方法: 方法一:检查mysql.sock…

    other 2023年6月27日
    00
  • AutoCAD 2019已经发布了 AutoCAD 2019下载地址及新功能介绍(附序列号)

    AutoCAD 2019发布攻略 1. AutoCAD 2019简介 AutoCAD 2019是一款功能强大的计算机辅助设计(CAD)软件,它提供了广泛的设计工具和功能,用于创建和编辑2D和3D模型。AutoCAD 2019具有许多新功能和改进,使其成为设计师和工程师的首选工具。 2. AutoCAD 2019新功能介绍 以下是AutoCAD 2019的一些…

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