【黑马java学习笔记】关键字
参考网址:https://www.bilibili.com/video/BV1Qy4y1k7kL
static关键字
-
static修饰后属于类
-
无论成员变量还是成员方法。如果有了static,都推荐使用类名称进行调用。
- 静态变量:类名称.静态变量
- 静态方法:类名称.静态方法
-
成员变量用static修饰即为静态变量
-
方法用static修饰即为静态方法
- 对于静态方法来说,可以通过对象名(不推荐,编译之后也会被Javac翻译为“类名称.类方法”)调用,也可以通过类名称(推荐)来调用。
- 有了static关键字,那么不需要创建对象直接就能通过类名称来使用它
-
注意事项
- 1.静态不能直接访问非静态
- 原因:因为在内存当中是”先“有静态内容,”后有非静态内容“。
- 2.静态方法当中不能用this.
- 原因:this代表当前对象,通过谁调用的方法,谁就是当前对象。
- 3.根据类名称访问静态成员变量的时候,全程和对象没关系,只和类有关系。
静态代码块
静态代码块的格式是:
public class 类名称{ static { //静态代码块内容 } } 特点:当第一次使用到本类时,静态代码块执行唯一的一次。 静态内容总是优先非静态,所以静态代码块比构造方法先执行。 静态代码块的典型用途: 用来一次性地对静态成员变量进行赋值
super
- super关键字可以在子类中调用父类的普通属性,方法和构造方法。
1.使用super关键字访问父类的成员变量和成员方法
super.成员变量
super.成员方法
2.使用super关键字访问父类中指定的构造方法,具体格式如下:
super(参数1,参数2......)
- 注意:
- 通过super()调用父类构造方法的代码必须位于子类构造方法的第一行,并且只能出现一次。
- this和super两者不能同时出现,因为this和super在调用构造方法时都要求必须放在构造方法的首行。
final
- final的英文意思是“最终”。
- 注意事项:
- 1.使用final修饰的类不能有子类
- 2.使用final修饰的方法不能被子类重写
- 3.使用final修饰的变量(成员变量和局部变量)是常量,常量不可修改。
this
- 在本类的成员方法中,访问本类的成员变量。
- 在本类的成员方法中,访问本类的另一个成员方法。
- 在本类的构造方法中,访问本类的另一个构造方法。
在第三种方法中需注意:
- this(…)调用也必须是构造方法的第一个语句,唯一一个。