Java的学习之路——几个重用的关键字 this super final staic

16 几个重要的关键字
16.1 this
16.1.1 使用
this.属性名
this.方法名
this(..),在一个构造器中来调用本类中其他的构造器,只能在第一行出现最多有总个数减一个

16.2 super
super.属性,调用父类的属性
super.方法,调用父类被覆盖的方法
super(..),调用父类的构造方法

如果子类中构造器中没有super(…),默认会调用父类的无参构造器

16.3 final 修饰符
修饰什么?class、方法、属性
class:不能被继承(不能有子类),可以实例化。比如String类
方法:不能被重写,比如object的wait();
属性:常量必须设置初始值(显示赋值),且不能修改(创建对象后,常量有值就行)Math.PI
final标记的成员变量必须在声明的同时或在每个构造函数或代码块中显示赋值,然后才能使用

16.4 static关键字,修饰符
可修饰1.属性 2.方法 3.类 4.代码块

修饰属性:静态变量、static变量、类变量
修饰方法:静态方法、static方法

代码块:主要用来做初始化的工作

静态代码块
随着类的加载而加载,且只会执行一次,通常在其中完成给静态变量赋值的工作

static修饰的属性:静态变量或者类变量,所有对象共享一份,一个对其修改,其它的也受影响
类变量随着类的加载(只加载一次)而产生,实例变量随着对象的创建而创建
几个重要的总结
 先加载类后创建对象–>类变量的加载要早于对象
 类变量,可以使用类名.属性名的方式设置值(访问权限允许)
 不能使用类名.的方式去访问实例变量
 静态方法也是随着类的加载而加载,早于对象的加载
 先有的不能调用后有的,后有的可以调用先有的
 在静态方法中,不能调用非静态的属性、方法,只能调用静态的属性、方法
 在非静态方法中,能调用非静态的属性、方法以及静态的属性、方法
 在静态方法中,不能出现this和super
 不因对象的不同而改变的属性设为类属性
 方法与调用者无关,这种方法声明为类方法

猜你喜欢

转载自blog.csdn.net/chaolingw/article/details/81088787
今日推荐