Java中各种关键字及概念整理

本文深入解析Java中的super和this关键字的区别,探讨继承中构造方法的关系,以及方法重写与重载的概念。同时,讲解final关键字的使用及其限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

super和this的区别 【掌握】

  • super
  1. super的作用:super指的是当前类的对象的父类引用
  2. super可以调用父类的成员属性 super.成员变量
  3. super可以调用父类的成员方法 super.成员方法
  4. super可以调用父类的构造方法 super(…)
  • this的作用:this指的是当前类的对象引用
  1. this可以调用本类的成员属性 this.成员属性
  2. this可以调用本类的成员方法 this.成员方法
  3. this也可以调用父类的成员方法 (在本类没有的情况下) this.父类方法、this.父类属性
  4. this可以调用本类的构造方法 this(…)

继承中构造方法的关系【掌握】

  • 子类中所有的构造方法默认都会访问父类中空参数的构造方法
    因为子类会继承父类中的数据,可能还会使用父类的数据;
    所以,子类初始化之前,一定要先完成父类数据的初始化。

  • 每一个构造方法的第一条语句默认都是:super()
    Object类是最顶层的父类。

  • 父类没有无参构造方法,子类怎么办?
    1.子类必须创建无参构造方法,方法内部还要调用父类构造方法;
    2.子类实现有参的构造方法
    3.父类自己实现无参构造方法

  • 注意事项
    super(…)或者this(….)必须出现在构造方法的第一条语句上

方法重写(Override)与方法重载(Overload)

方法重写:(只存在子类和父类中)

  • 方法重写是指子父类出现了一模一样的方法
    比如当子类需要父类的功能,而子类有自己特有内容时,可以重写父类中的方法;
    这样,即沿袭了父类的功能,又定义了子类特有的内容。

  • 父类中私有方法不能被重写,因为父类私有方法子类根本就无法继承,无访问权利;
    子类重写父类方法时,访问权限最好就一致

方法重载(在同一个类中)

  • 指本类中出现的方法名一样,参数列表不同的方法;
  • 与返回值类型无关,重载可以改变返回值类型,方法的重载只看参数列表不同

Override重写和Overload重载的区别

  • 作用对象不同,重写是子父类,重载是同一个类内部;
  • 重写是方法一模一样,返回值也一样,只有函数体不同;
  • 重载是方法名一样,参数列表不同,与返回值类型无关。

final关键字特点

  • final关键字可以修饰类,方法以及变量
    1.修饰类,类不能被继承,该类就成了最终类;
    2.修饰变量,变量就变成了常量,只能被赋值一次,也就是指向的地址之后不能变;
    3.修饰方法,方法不能被重写,子类继承父类方法后不能重写改变方法体

修饰变量

  • final修饰变量叫做常量,一般会与public static共用;
  • 常量命名规范,如果是一个单词,所有字母大写,如果是多个单词,每个单词都大写,中间用下划线隔开,如
public static final int MIN_SIZE = 2;//类中方法外

final修饰局部变量特性(方法内,进栈)

  • 修饰基本类型,其值不能被改变;
  • 修饰引用类型,是地址值不能被改变,对象中的属性可以改变;
  • 修饰引用类型不可以再New

final修饰变量的2个初始化时机

  1. 一定义变量可以初始化【这种初始化方法比较常用】;
  2. 在构造方法初始化;

注意:在类中不可重复给final赋值,只能赋值一次

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值