this() 的用法

  • 功能:调用当前类的其他构造函数
  • 作用:避免构造函数中的代码重复
  • 限制:必须是构造函数的第一条语句
  • 适用场景:当类中存在多个构造函数且需要共享部分初始化逻辑时
class Car {
private String color;
private String model; // 无参构造函数
public Car() {
this("Unknown", "Unknown"); // 调用双参构造函数
} // 双参构造函数
public Car(String color, String model) {
this.color = color;
this.model = model;
}
}

super() 的用法

  • 功能:调用父类的构造函数
  • 作用:初始化父类成员变量
  • 限制:必须是子类构造函数的第一条语句;若父类没有无参构造函数,必须显式调用
  • 适用场景:子类需要初始化父类部分时
class Vehicle {
private String brand; public Vehicle(String brand) {
this.brand = brand;
}
} class Car extends Vehicle {
private String model; public Car(String brand, String model) {
super(brand); // 调用父类构造函数
this.model = model;
}
}

关键区别

  • this() 调用当前类的构造函数,super() 调用父类的构造函数
  • 两者都必须是构造函数的第一条语句
  • this() 用于代码复用,super() 用于父类初始化

Java中this()与super()的区别解析的更多相关文章

  1. Java中this与super的区别【6】

    若有不正之处,请多多谅解并欢迎批评指正,不甚感激.请尊重作者劳动成果: 本文原创作者:pipi-changing本文原创出处:http://www.cnblogs.com/pipi-changing/ ...

  2. Java中this与super的区别

    this与super关键字在java中构造函数中的应用: ** super()函数 ** super()函数在子类构造函数中调用父类的构造函数时使用,而且必须要在构造函数的第一行,例如: class ...

  3. 转:二十一、详细解析Java中抽象类和接口的区别

    转:二十一.详细解析Java中抽象类和接口的区别 http://blog.csdn.net/liujun13579/article/details/7737670 在Java语言中, abstract ...

  4. Java基础-this和super的区别

    package com.cn.This; /** * this与super的区别: * 1.this相当于指向本类的对象的指针,调用本类的另一种类型的构造方法 * 2.super调用的是父类中形参相同 ...

  5. 【Java面试题系列】:Java中final finally finalize的区别

    本篇为[Java面试题系列]第三篇,文中如有错误,欢迎指正. 第一篇链接:[Java面试题系列]:Java基础知识常见面试题汇总 第一篇 第二篇链接:[Java面试题系列]:Java基础知识常见面试题 ...

  6. Java中Set Map List 的区别

    java中set map list的区别: 都是集合接口 简要说明 set --其中的值不允许重复,无序的数据结构 list   --其中的值允许重复,因为其为有序的数据结构 map--成对的数据结构 ...

  7. Java中Comparable和Comparator接口区别分析

    Java中Comparable和Comparator接口区别分析 来源:码农网 | 时间:2015-03-16 10:25:20 | 阅读数:8902 [导读] 本文要来详细分析一下Java中Comp ...

  8. 转:Java中abstract和interface的区别

    转自:Java中abstract和interface的区别 abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java ...

  9. Java中堆和栈的区别(转)

    栈与堆都是Java用来在Ram中存放数据的地方.与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆.      Java的堆是一个运行时数据区,类的对象从中分配空间.这些对象通过new. ...

  10. Java中Long与long的区别(转)

    Java中Long与long的区别(转) [本文转载自:http://www.cnblogs.com/bluestorm/archive/2012/04/22/2464739.html] 转载请联系原 ...

随机推荐

  1. 用装饰器简化大量if-elif代码

    源码地址:https://github.com/edgedb/edgedb/blob/master/edb/common/value_dispatch.py 鸣谢原文:一日一技:使用装饰器简化大量 i ...

  2. 一文速通Python并行计算:11 Python多进程编程-进程之间的数据安全传输-基于队列和管道

    一文速通 Python 并行计算:11 Python 多进程编程-进程之间的数据安全传输-基于队列和管道 摘要: Python 多进程中,Queue 和 Pipe 提供进程间安全通信.Queue 依赖 ...

  3. 如何在Mac系统上把U盘分成2个区?

    插入U盘后,使用命令行执行如下命令: diskutil partitionDisk /dev/disk8 GPT MS-DOS TESLAMUSIC 7% ExFAT TESLADRIVE 93% 第 ...

  4. 袋鼠云:基于Flink构建实时计算平台的总体架构和关键技术点

    数栈是云原生-站式数据中台PaaS,我们在github和gitee上有一个有趣的开源项目:FlinkX,FlinkX是一个基于Flink的批流统一的数据同步工具,既可以采集静态的数据,也可以采集实时变 ...

  5. Teradata在华落幕,国产化崛起,袋鼠云数栈会是更好的选择吗?

    2月15日,数仓软件巨头Teradata宣布根据其对中国当前和未来商业环境的慎重评估,将逐步结束在中国的直接运营,后续进入中国公司的关闭程序. 一石激起千层浪,这一消息,在国内的To B市场引起了广泛 ...

  6. HDFS目录配额(quota)不足导致写文件失败

    本文分享自天翼云开发者社区<HDFS目录配额(quota)不足导致写文件失败>,作者:5****m 问题背景与现象 给某目录设置quota后,往目录中写文件失败,出现如下问题"T ...

  7. Alovoa - 开源隐私优先的约会平台

    项目标题与描述 Alovoa是一个旨在成为首个广泛使用的免费开源约会网络平台.与其他平台不同,Alovoa具有以下核心价值: 无广告 不出售用户数据 无付费功能(无"付费超级喜欢" ...

  8. Java实现word试卷逐题录入数据库

    word题目类似如图 将这样一份试题录入数据库实现如下图效果(给app 考试系统 写的java后台) 主要思路是 1.把word文档整理成你想要的格式,让每道题格式一样 2.字符串形式获得word文档 ...

  9. 【攻防世界】Web | wife_wife 详细题解WP

    [攻防世界] | Web | wife_wife详细题解WP 进入题目环境,首先进入sign up创建一个admin用户,下方有勾选 is admin,打上勾 随便填写Invite Code,进行抓包 ...

  10. Excel图中的横/纵坐标轴逆序并修改轴交叉值

    ↓↓↓欢迎关注我的公众号,在这里有数据相关技术经验的优质原创文章↓↓↓ 在Excel中作图时坐标轴是默认以0为坐标轴原点的且从从下到上数值逐渐增大的.例如当纵坐标大于0时: 而当纵轴数值小于0时时这样 ...