java 关键字super详解及用法

yizhihongxing

Java 关键字super详解及用法

在 Java 编程中,我们经常会遇到需要在派生类中调用父类的方法或访问父类的属性的情况。这时就需要用到 Java 关键字 super。本文将详细讲解 Java 关键字 super 的用法及示例说明。

1. super 的作用

  • 访问父类的属性
  • 调用父类的方法
  • 调用父类的构造方法

2. super 访问父类的属性

使用 super 关键字可以访问父类中的属性。

以下是示例代码:

class Parent {
    String name = "Parent";
}

class Child extends Parent {
    String name = "Child";

    void printNames() {
        System.out.println("Child name = " + name);
        System.out.println("Parent name = " + super.name);
    }
}

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

运行结果:

Child name = Child
Parent name = Parent

分析:在 Child 类中,我们定义了一个名为 name 的属性,与父类 Parent 中的属性同名。若在 Child 类中直接使用 name,则会访问到子类中的属性;若要访问父类中同名的属性,使用 super.name 即可。

3. super 调用父类的方法

使用 super 关键字可以调用父类中的方法。

以下是示例代码:

class Parent {
    void show() {
        System.out.println("This is Parent");
    }
}

class Child extends Parent {
    @Override  // 覆写父类方法
    void show() {
        super.show();  // 调用父类方法
        System.out.println("This is Child");
    }
}

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

运行结果:

This is Parent
This is Child

分析:在 Child 类中,我们覆写了父类 Parent 中的 show() 方法,并在子类方法中调用了 super.show(),即调用了父类中的 show() 方法,并在子类方法中添加了新的内容。

4. super 调用父类的构造方法

使用 super 关键字可以调用父类的构造方法。

以下是示例代码:

class Parent {
    String name;

    Parent() {
        name = "Parent";
    }
}

class Child extends Parent {
    Child() {
        super();  // 调用父类无参构造方法
    }
}

public class Main {
    public static void main(String[] args) {
        Child child = new Child();
        System.out.println(child.name);
    }
}

运行结果:

Parent

分析:在 Child 类中,我们定义了一个无参构造方法,并在其中使用 super() 调用了父类的无参构造方法,即 Parent 的构造方法。这样可以确保子类对象在实例化时先初始化父类部分的属性。

5. 总结

super 关键字在 Java 编程中具有重要作用,可以实现对父类属性、方法和构造方法的访问或调用。熟练掌握 super 关键字的用法,有助于程序的编写。

以上是 Java 关键字 super 的详细讲解及示例说明。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java 关键字super详解及用法 - Python技术站

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

相关文章

  • shell编程编辑工具awk

    以下是awk编程编辑工具的完整攻略,包括以下内容: awk的概述 awk的基本语法 awk的常用命令 示例说明 1. awk的概述 awk是一种文本处理工具,可以用于从文本文件中提取和操作数据。它是一种强大的编程语言,可以用于处理结构化文本数据,例如日志文件、CSV文件等。awk的名称来自于其三位创始人的姓氏:Alfred Aho、Peter Weinber…

    other 2023年5月9日
    00
  • 有声之处,样样皆能 | 科大讯飞 1024 开发者节 AI+OS 分论坛

    科大讯飞 1024 开发者节 AI+OS 分论坛攻略 主题介绍 科大讯飞 1024 开发者节 AI+OS 分论坛是一次面向广大开发者的技术峰会,旨在探索 AI 与 OS 的融合,以及 AI 技术在不同领域的应用。本次会议将邀请多位业界专家分享经验和最新进展,同时,会场上还将有互动展台和技术实验等活动,为与会者构建一个共同学习交流的平台。 日程安排 本次会议将…

    other 2023年6月26日
    00
  • Access2010默认数字字段怎么设置成小数?

    想要将Access2010默认数字字段设置成小数,可以按照以下步骤进行操作: 打开Access 2010数据库,选择要设置小数的表格,进入表格设计模式。 在表格设计模式中,找到要设置为小数的数字字段,双击该字段,进入字段属性窗口。 在字段属性窗口中,找到“数据类型”项,选择“十进制数”或“货币”数据类型(这两种数据类型会自动设置小数位数),并根据需要设置小数…

    other 2023年6月25日
    00
  • 详解MySQL的数据行和行溢出机制

    详解MySQL的数据行和行溢出机制 MySQL是一个著名的关系型数据库系统,其中数据的存储和处理一直是其重要的特性。数据行和行溢出机制是MySQL中数据存储和管理的重要方面,下面将详细讲解这个主题。 数据行 MySQL中的数据行是数据存储的基本单位,每个数据行中包含了一条记录的所有字段。MySQL使用B-Tree索引算法来组织和管理数据行,数据行中的每个字段…

    other 2023年6月27日
    00
  • #define中 #与##用法

    Pycharm的项目文件名是红色的原因及解决办法的完整攻略 Pycharm是一款流行的Python集成开发环境,可以用于开发Python应用程序。在使用Pycharm时,有时会发现项目文件名是红色的,这是为什么呢?本文将为您提供Pycharm项目文件名红色的原因及解决办法的完整攻略,并提供两个示例说明。 原因 Pycharm项目文件名是红色的原因是因为该文件…

    other 2023年5月5日
    00
  • mathjs使用指南

    以下是关于mathjs使用指南的完整攻略: mathjs简介 mathjs是一个用于数学计算的JavaScript库,它支持各种数学运算、符号计算、线性数、统计学、微积分等功能。mathjs可以在浏览器和Node.js环境中使用。 安装mathjs 您可以使用npm安装mathjs,命令如下: npm install mathjs 或者,您可以在HTML文件…

    other 2023年5月6日
    00
  • keil怎么使用外部编辑器?使用vscode作为keil5的外部编辑器教程

    添加外部编辑器 打开Keil5软件,点击“Option for Target”,在弹出的选项卡中选择“Extensions”。 在“Tool”子选项卡内找到“External Editor”,在右侧“Command Line”中输入外部编辑器的文件路径及可执行文件名。 示例: 若想使用VSCode编辑器,将命令输入为 “C:\Program Files (x…

    other 2023年6月26日
    00
  • 怎么更改富士施乐打印机用户名和密码?

    下面是更改富士施乐打印机用户名和密码的完整攻略: 1. 进入富士施乐打印机设置界面 首先,需要通过浏览器进入富士施乐打印机的管理界面。具体步骤如下: 找到富士施乐打印机的IP地址。可以在打印机本身或者打印机手册上找到IP地址。 在电脑上打开浏览器,输入富士施乐打印机的IP地址,并按下回车。 输入用户名和密码。默认情况下,富士施乐打印机的用户名是“admin”…

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