A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

static:

这是一个静态关键字。用来修饰成员(包括成员变量和成员函数)

被静态修饰的成员具有以下几个特点:

(1):随着类的加载而加载。

(2):它优先于对象存在,因为它是定义类后,就会存在于类中。而对象需要实例化后才会存在。

(3):被所有对象所共享,是一个公共区域,其作用类似于构造代码块。

(4):它的访问除了对象操作,还可以由类名直接操作。

一般情况下能不用就避免使用static因为它的存在周期是整个类中,随着类的消失而消失。很浪费内存空间。使用static要特别注意以下几点:

(1)静态方法只能访问静态成员(静态变量,静态函数)

(2)静态方法中不能使用this和下面要讲的super关键字,因为this和super分别指的是:当前对象和它的父类对象。有了对象才可以使用。static优先于对象,所以不能使用。

(3)主函数是静态的,是程序的唯一的入口!

那么接下来问题来了?什么时候使用静态?

当对象中出现数据共享的时候,该数据就应该被定义为静态修饰。这是对于静态变量说的。

那么什么时候定义成静态函数呢?

当功能内部没有使用到非静态数据时,那么就可以将该函数定义为静态。这种函数往往为工具类函数,比如:比较,排序,等等这类功能会比较方便。直接使用类名操作避免创建对象浪费栈内存空间。

2 个回复

倒序浏览
刚自学到静态,感谢啊
回复 使用道具 举报
写的很详细,马上就要学习静态变量了,如获至宝
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马