static 修饰方法

              static 修饰方法

1、static修饰的方法被称之为静态方法也叫作类方法,加static的方法,可以通过类名直接访问,也可以通过对象名访问,而不加static只能通过对象名访问,加了static的方法,不能再内部写this,因为直接用类名点方法的时候,没有当前对象

2、加了static的方法,不能再方法内部访问非static的属性和行为;

原因:1、在静态方法的内部无法确认非static的内容属于哪个对象,它是通过类名调用,这时没有对象----这就相当于工具类

2、static修饰的方法,在类加载的时候是被首先加载的,然后加载非static内容,所以加载static时 是不知道非static内容的

总结:只有调用的时候无需考虑对象时,才定义为static---工具类的工具方法,可以被定义为static方法

工具类:没有产生对象的必要,只要实现某个功能即可,哪个对象完成的都没有影响,比如:分页,转换时间,连接数据库等

工具方法:该方法在完成功能的时候,不会对对象的数据产生任何影响

凡是用static修饰的都有量大共性:

1、该内容与对象无关,只与类有关;

2、该内容总会在类加载器有特殊操作

注:static不能用来修饰构造方法,因为static修饰的是与对象无关的内容,而构造确实生成对象的五大方法之一

初始化块--------{

在这个块中可以书写任何语句

}

1、这是一个没有方法名、参数列表、返回类型的方法体

2、在这个块中可以书写任何语句,它在产生对象的时候自动被调用,它是用来美new出一个对象,就用来执行初始化的,又被称之为实例初始化块,这是与构造相重叠的,写在初始化块中的代码都可以写在构造方法中;但是他的执行顺序是先执行初始化块在执行构造

Static{

}----静态初始化块

1、与对象无关,满足static的特征,一个类只执行一次;

2、执行的时机是加载的时候

总结:可以再静态初始化块中书写一些运行前的准备工作,只运行一次,没有别的可以替代,可以节约运行时间和运行速度;

当调用者产生一个对象的时候

1、在堆中划分对象的空间;

2、在空间划分属性

3、执行实例初始化块

4、执行属性的赋值;

5、执行构造方法当中我们书写好的代码;

猜你喜欢

转载自www.cnblogs.com/wanggang1987/p/12173802.html