java笔记-this、final
1.this关键字
- super能出现在实例方法和构造方法中。
- super的语法是:“super.”和“super()”
- super不能出现在静态方法中。
- super.大部分情况下是可以省略的。
- super()表示通过子类的构造方法去调用父类的构造方法
- super()只能出现在构造方法的第一行,通过当前的构造方法去调用父类的构造方法。
- 目的是:创建子类对象的时候,先初始化父类特征。
- 当一个构造方法的第一行既没有this(),也没有super()的话,默认会有一个super(),表示通过当前子类的构造方法去调用父类的无参构造方法
- 在构造方法执行的过程中,一连串调用了父类的构造方法,父类的构造方法又继续向下调用了它的父类的构造方法,但实际上对象只创建了一个。
- super的作用是初始化当前对象的父类型的特征。
- super不能省略的情况: 父类型和子类型中同名的属性或方法,如果想在子类中调用父类的该属性或,则需要加super.
- super不是引用,super也不保存内存地址,super也不指向任何对象,super只是代表当前对象内部的那一块父类型的特征。
注意:无论如何,父类的构造方法一定会执行。
2.final
- 表示最终的,不可变的。
- 可以修饰变量和方法,类等
- 类:final修饰的类不可以被继承。
- 方法:1.final修饰的方法不能被重写。
- 变量:1.final修饰的局部变量只能赋值一次。且在方法执行的过程中,该引用指向对象后,该对象无法被垃圾回收器回收。直到当前方法结束,才会释放空间。2.final修饰的实例变量,系统没有默认赋值,需要程序员手动赋值,在声明时赋值或者在构造方法中赋值。3.final修饰的实例变量一般用static修饰。两者一起修饰的变量称为常量。
- 常量:由static final 修饰,常量名全部大写,单词直接用下划线连接。
本文深入探讨了Java中this关键字的使用场景与super的区别,以及final关键字如何用于定义不可变的变量、方法和类,强调了它们在面向对象编程中的重要作用。
1005

被折叠的 条评论
为什么被折叠?



