2019-01-17
内容:关键字
一、this和super
@this:*可修饰属性、方法、构造器
*通过this.属性和this.方法来显示地调用本类地属性和方法
*在本类构造器中通过this(形参列表)来调用指定的本类构造器
@super:*可修饰属性、方法、构造器
*通过super.属性和super.方法来显式地调用父类的属性和方法,尤其是在调用子父类同名的属性和方法时必须显式地调用,否则可以省略
*在子类的构造器中通过super(形参列表)来调用指定的父类构造器
=》子类构造器第一行有三种情况,一是显示地调用本类地其他构造器,二是显示调用指定父类的构造器,三是默认调用父类的默认构造器
=》建议每个类都提供一个空参构造
二、static
@可以用来修饰属性、方法、代码块和内部类:*修饰属性时,所有对象共享这个属性的内存空间
*修饰方法时,此方法只能调用静态属性
*修饰代码块时,此代码块随类的加载而加载,只加载一次
@实例变量VS类变量:*实例变量每个实例一块内存空间,只能通过对象来调用,存在于堆空间中
*类变量这个类的所有实例共享这一块内存空间,可以通过类名或者对象来调用(类变量加载早于类对象的创建),存在于静态域
@静态方法:*随着类的加载而加载
*只能调用类属性和静态方法
*可通过类名来调用
*静态方法里面不能有this或者super
三、final
@可以用来修饰属性、方法和类:*修饰类时,表明此类不能被继承
*修饰方法时,表明此方法不能被重写
*修饰属性时,表明此属是常量,一旦赋值不能改变
@补充:常量的初始化必须在对象创建之前:可以显示赋值,代码块赋值或者在构造器中赋值,不能使用默认初始化值
@this:*可修饰属性、方法、构造器
*通过this.属性和this.方法来显示地调用本类地属性和方法
*在本类构造器中通过this(形参列表)来调用指定的本类构造器
@super:*可修饰属性、方法、构造器
*通过super.属性和super.方法来显式地调用父类的属性和方法,尤其是在调用子父类同名的属性和方法时必须显式地调用,否则可以省略
*在子类的构造器中通过super(形参列表)来调用指定的父类构造器
=》子类构造器第一行有三种情况,一是显示地调用本类地其他构造器,二是显示调用指定父类的构造器,三是默认调用父类的默认构造器
=》建议每个类都提供一个空参构造
二、static
@可以用来修饰属性、方法、代码块和内部类:*修饰属性时,所有对象共享这个属性的内存空间
*修饰方法时,此方法只能调用静态属性
*修饰代码块时,此代码块随类的加载而加载,只加载一次
@实例变量VS类变量:*实例变量每个实例一块内存空间,只能通过对象来调用,存在于堆空间中
*类变量这个类的所有实例共享这一块内存空间,可以通过类名或者对象来调用(类变量加载早于类对象的创建),存在于静态域
@静态方法:*随着类的加载而加载
*只能调用类属性和静态方法
*可通过类名来调用
*静态方法里面不能有this或者super
三、final
@可以用来修饰属性、方法和类:*修饰类时,表明此类不能被继承
*修饰方法时,表明此方法不能被重写
*修饰属性时,表明此属是常量,一旦赋值不能改变
@补充:常量的初始化必须在对象创建之前:可以显示赋值,代码块赋值或者在构造器中赋值,不能使用默认初始化值