[javase学习笔记]-8.5 statickeyword的使用场景
这一节我们来看一下在我们开发的过程中,在什么时候我们要用到statickeyword进行静态修饰。
我们这里所说的静态。无非就是两种。一种是静态变量,一种是静态函数,我们分这两种情况进行说明statickeyword的使用场合。
一、静态变量
我们在7.8节中对statickeyword特点和7.9节中成员变量与静态变量差别进行学习的时候就已经非常明白的指出了静态变量是共享数据,而对象中封装的特有数据。
因此我们能够这样解释:当分析对象中所具备成员变量的值是同样的。且不须要对象做改动,这时这个成员变量就能够被statickeyword修饰为静态。
从还有一个角度也就是说。仅仅要数据在对象中都是不同的,也就是对象的特有数据。必须存在在对象中,则就是非静态的,不能被statickeyword修饰为静态。
因此用statickeyword定义静态变量的使用场合:假设是同样数据,且对象不须要做改动,仅仅须要使用,且不须要存储在对象中,则使用statickeyword定义成静态。
二、静态函数
我们在7.10statickeyword使用细节时说到了静态方法中不能调用非静态成员。且不能使用thiskeyword,所以对于函数是否使用statickeyword修饰。仅仅须要參考一点,就是该函数功能是否有訪问到对象中的特有数据。
为了帮助我们理解。我们能够通俗的说,从源代码看。该功能是否须要訪问非静态成员变量。假设须要。该功能就是非静态的,假设不须要,我们就能够将该功能用statickeyword定义成静态函数。
当然,我们也能够定义成非静态。可是非静态须要对象去调用,而当创建了对象却没有訪问特有数据的方法,该对象创建是没有意义的。由于我们之前说过对象是用于封装特有数据的,当我们没有訪问特有数据,那么我们为什么要创建对象呢?创建的对象仅仅是浪费了堆内存中的空间,再什么也没有做。所以说此时创建对象是没有意义的。
因此用statickeyword定义静态函数的使用场合:假设一个函数不须要訪问非静态成员变量。就能够用statickeyword定义成静态。
这一节我们就简单的说这些吧。