java第十二天

* 什么时候程序在运行的时候出现空指针异常呢?

*         空引用访问实例相关的数据,因为实例相关的数据就是对象相关的数据,这些数据在访问的时候,必须有对象的参与,当空引用的时候,对象不存在,访问这些实例数据一定会出现空指针异常。

*    实例相关的数据包括:

            实例变量【对象需要存在】

            实例方法【对象需要存在】

* 带static的方法也可以用引用.方法名();

但myeclipse会自动把引用改成类名,所以这个过程中并没有用到对象。

引用为空的话,也不会出现空指针异常。

但使用引用的方式访问带有static的方法,程序会出现警告。

所以带有static的方法还是建议使用“类名.”的方式访问。

—————————————————————————————————————————————————————————————————

// 静态变量,静态变量在类加载的时候初始化,不需要创建对象,内存就开辟了。

// 静态变量存储在方法区内存当中。


什么时候成员变量声明为实例变量呢?

              - 所有对象都有这个属性,但是这个属性的值会随着对象的变化而变化。【不同对象的这个属性具体的值不同】

什么时候成员变量声明为静态变量呢?

              - 所有对象都有这个属性 ,并且所有对象的这个属性的值是一样的,建议定义为静态变量,节省内存的开销。    

// 所有静态的数据都是可以采用类名 . ,也可以采用引用 . ,但是建议采用类名 . 的方式访问。

// 采用引用 . 的方式访问的时候,即使引用是null,也不会出现空指针异常。因为访问静态的数据不需要对象的存在。

* 关于Java中的static关键字

1、static英语单词翻译为静态的

2、static修饰的方法是静态方法

3、static修饰的变量是静态变量

4、所有static修饰的元素都称为静态的,都可以使用“类名 . ”的方式访问,当然也可以采用“引用 . ”的方式访问【但不建议】

5、static修饰的所有元素都是类级别的特征,和具体的对象无关。

* 可以使用static关键字来定义“静态代码块”:

       1、语法格式:

                     static{

                java语句

}

2、静态代码块在类加载时执行,并且只执行一次。

3、静态代码块在一个类中可以编写多个,并且遵循自上而下的顺序依次执行。

4、 静态代码块的作用什么?怎么用?用在哪?什么时候用。

-这当然和具体的需求有关,例如项目中要求在类加载的时刻/时机执行代码完成日志的记录。那么这段记录日志的代码就可以编写到静态代码块当中,完成日志记录。

- 静态代码快是java为程序员准备的一个特殊的时刻,这个特殊的时刻被称为类加载时刻。若希望在此刻执行一段特殊的程序,这段程序可以直接放到静态代码块当中。

5、通常在静态代码块当中完成预备工作,先完成数据的准备工作,例如:初始化连接池,解析XML配置文件》》..........

*  实例语句块/代码块【了解内容,使用的非常少】

{

System.out,printlun(1);

}

1、实例代码块可以编写多个,也是遵循自上而下的顺序依次执行。

2、实例代码块在构造方法执行之前执行,构造方法执行一次,实例代码块对应执行一次,实例代码块在创建对象的时候执行。

3、实例代码块也是java语言为程序员准备的一个特殊的时机,这个特殊时机被称为:对象初始化时机。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容