Java中this和super的区别及this能否调用到父类使用

yizhihongxing

Java 中this和super都是关键字,用于表示不同的对象。

this

this 关键字代表当前对象,即指向当前对象的引用。通常用于以下情况:

  1. 分清成员变量和局部变量同名的情况:使用 this 来引用当前对象的成员变量。

示例:

public class Person {
    private String name; // 成员变量 name
    public void setName(String name) {
        this.name = name; // 使用 this 引用当前对象的成员变量 name
    }
}
  1. 在构造方法中调用其他的构造方法:使用 this 关键字加上参数列表来调用其他的构造方法。

示例:

public class Car {
    private String brand;
    private String color;
    public Car(String brand) {
        this(brand,"Red"); // 调用另一个构造方法
    }
    public Car (String brand, String color) {
        this.brand = brand;
        this.color = color;
    }
}

super

super 是表示父类对象的关键字,可以调用父类的构造方法、成员方法、成员变量。通常用于以下情况:

  1. 在子类中调用父类的构造方法进行初始化操作:使用 super 关键字加上参数列表来调用父类的构造方法。

示例:

public class Student extends Person {
    private String school;
    public Student(String name, int age, String school) {
        super(name, age); // 调用父类的构造方法进行初始化
        this.school = school;
    }
}
  1. 在子类中调用父类的方法或成员变量:使用 super 关键字来调用父类的方法或成员变量。

示例:

public class Vehicle {
    protected String brand;
    public void run() {
        System.out.println("Vehicle is running...");
    }
}
public class Car extends Vehicle {
    private int price;
    public void run() {
        super.run(); // 调用父类的 run 方法
        System.out.println("Car is running...");
    }
    public void setBrand(String brand) {
        super.brand = brand; // 使用 super 引用父类的成员变量 brand
    }
}

this能否调用到父类使用

this 关键字仅能在当前对象中使用,不能调用父类的方法或成员变量。如果想要使用父类的方法或成员变量,应该使用 super 关键字。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java中this和super的区别及this能否调用到父类使用 - Python技术站

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

相关文章

  • itunes备份的文件在哪里

    iTunes备份文件存储在计算机本地的特定位置,一般是在用户目录下的AppData或Library文件夹内。下面是详细的说明: Windows系统 Windows 7/8/10 备份文件的位置在C:\Users\你的用户名\AppData\Roaming\Apple Computer\MobileSync\Backup。其中,你的用户名是你登录Windows…

    其他 2023年4月16日
    00
  • C#串口通信工具类的封装

    C#串口通信工具类的封装是使用C#语言中的SerialPort类进行封装,方便我们进行串口通讯的开发和使用。下面将从以下两个方面进行详细讲解: 工具类的封装 对于C#串口通信类的封装,我们需要考虑以下几个方面: (1)传输协议:需要考虑数据的传输协议,常用的有ASCII码、二进制和字符串等多种格式。 (2)数据的解析:需要考虑数据的解析,比如将二进制数据转换…

    other 2023年6月25日
    00
  • Win10开机无限提示你的电脑将在一分钟后自动重启怎么解决?

    该问题是Win10系统常见的一个启动故障,可能的原因有多种,比如硬件问题、系统文件损坏等。解决该问题的方式包括以下几个步骤: 步骤一:进入安全模式 首先需要尝试进入安全模式。安全模式可以让系统以最小的驱动程序和服务启动,以便诊断和解决问题。步骤: 在出现重启提示前,按住键盘上的 Shift 键,让 Win10 停止自动重启; 选择 问题解决 – 高级选项 -…

    other 2023年6月27日
    00
  • Win7系统执行操作后桌面右键刷新反应慢的解决方法

    下面是详细讲解“Win7系统执行操作后桌面右键刷新反应慢的解决方法”的完整攻略。 问题描述 在使用Win7系统时,有时会遇到执行一些操作后,桌面右键刷新反应慢的情况。这种情况下,右键菜单弹出的速度会很慢,甚至会导致系统卡顿。如何解决这个问题呢?我们可以尝试以下几种方法。 解决方法一:关闭不必要的上下文菜单扩展 有时候,桌面的右键菜单会包含一些不必要的上下文菜…

    other 2023年6月27日
    00
  • c++ 封装一个截图服务

    C++封装一个截图服务 简介 截图是指捕获计算机屏幕上的图像或者窗口的图像,我们可以使用C++来封装一个截图服务,提供截图的功能。 思路 封装截图服务需要实现以下几个步骤: 获取计算机屏幕分辨率和可用窗口区域大小。 创建一个位图,大小为屏幕分辨率。 使用BitBlt函数将屏幕图像复制到位图中。 保存位图到本地文件或内存。 实现 下面给出两个示例,一个是截取整…

    other 2023年6月25日
    00
  • adb工具和手机抓包方法介绍

    ADB工具和手机抓包方法介绍 ADB(Android Debug Bridge)是一种常用的Android调试工具,它可以帮助开发者在电脑上Android设备进行通信。手机抓包是一种常用的调试方法,它可以帮助开者分析网络请求和响应。本文将介绍如何使用ADB工具和手机抓方法,提供两示例说明。 ADB工具 以下是一些常用的ADB命令: adb devices:列…

    other 2023年5月9日
    00
  • 使用SQL Server分区表功能提高数据库的读写性能

    当涉及到使用SQL Server分区表功能来提高数据库的读写性能时,以下是一个完整的攻略,包含两个示例说明: 1. 创建分区函数和分区方案 首先,我们需要创建一个分区函数来定义如何将数据分布到不同的分区中。例如,我们可以根据日期范围将数据分区。下面是一个示例: CREATE PARTITION FUNCTION DateRangePartitionFunc(…

    other 2023年10月19日
    00
  • win7文件后缀名怎么设置实现文件内容搜索?

    Win7文件后缀名设置实现文件内容搜索攻略 在Windows 7操作系统中,要实现文件内容搜索,需要进行以下步骤: 步骤一:设置文件后缀名 打开“文件资源管理器”(Windows资源管理器)。 点击菜单栏中的“工具”选项,然后选择“文件夹选项”。 在弹出的“文件夹选项”对话框中,点击“查看”选项卡。 在“高级设置”列表中,找到“隐藏已知文件类型的扩展名”选项…

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