this关键字
this强调是本类中的
1.什么是this
this是对象在方法中对自身的引用
2.用法
this.<属性>
区分成员变量和局部变量
this.<方法>()
不常用
this()
调用当前类的构造
必须编写在构造方法中
必须编写在方法中的第一行
this无法调用static修饰的构造方法
this在调用构造方法时最好留一个构造方法作为出口,即程序中至少存在一个构造方法不是使用this调用其他构造方法的。
重点:
this表示当前对象:
当前对象就是指当前正在调用类中方法的对象
static关键字
static只能修饰成员,英文含义是静态
1)修饰属性
1.1)被static修饰的属性
所有对象共享同一个值
1.2)被static修饰的属性值
会被保存在内存的方法区中
1.3)当该类的所有对象共享同一个
资源时,将这个资源设置为静态
能够节省内存
1.4)官方建议静态属性使用类名调用
1.5)静态属性也成为类属性
2)修饰方法
2.1)使用static修饰方法
该方法称之为静态方法,类方法
2.2)静态方法可以直接使用类名调用
无需实例化对象
2.3)静态方法中无法调用
普通(实例)属性和方法
因为静态方法中没有this
(静态方法只能访问静态属性)
2.4)如果一个方法不需要
访问当前类中的实例成员
就可以定义成静态的
2.5)静态方法不能被重写
3)修饰初始化块
3.1)什么是初始化块
在代码中直接编写{}
{}中的内容就是初始化块
初始化块中的内容
会在构造方法运行前运行
3.2)被static修饰的初始化块
只会运行一次
3.3)运行时机是JVM使用这个类之前
JVM加载类时运行静态块
加载类的情况
1.实例化对象
2.使用类名调用静态成员
3.反射相关技术
方法区:被共享
super
1)super
是对象在方法中
对父类对象的引用
2)super.<属性>
super.<方法>();
super调用父类的属性和方法
主要用于需要区分同名成员时
super();调用父类构造
必须编写在
构造方法中的第一行
super可以从父类中调用它的属性、构造方法、普通方法,强调的是父类中的
final关键字(最终)
1)final修饰类
被final修饰的类不允许有子类
子类不能继承被final修饰的类
2)final修饰方法
表示该方法不允许被子类重写
3)final修饰属性
属性值不能被修改
被final修饰的属性有两种赋值方法
1.声明的同时赋值
2.在构造方法中赋值
(使用final声明的变量即成为常量,不可修改)
4)final修饰局部变量
修饰方法中声明的变量:
只能被赋值一次
形参是已经被赋值的局部变量
final修饰的形参,值不能修改
extends关键字
在 Java 中,类的继承是单一继承,也就是说,一个子类只能拥有一个父类,所以 extends 只能继承一个类。
implements关键字
使用 implements 关键字可以变相的使java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔)。
instanceof关键字
用于判断一个对象到底是哪个类的实例