1:为什么需要static关键字?
很多时候,不同的类需要对同一个变量进行操作,所以才需要类变量
2:什么是static关键字?
static是静止的意思,static称之为类变量,既然是类变量,就是在类中使用,所以类变量属于类
由static关键字修饰的常量,方法,变量称之为静态常量,静态方法,静态变量,也称为类的静态成员,从这里可以看出static关键字在定义时是在类中的。静态成员是类所有的。静态变量是共享的。
他是类的公共变量,在第一次使用时被初始化
类变量在整个类中都可以使用
static类变量不需要创建对象就可以使用,因为jvm虚拟机在加载类字节码就为静态变量分配空间,一旦定义内存就一直存在,等程序结束才释放
3:static关键字怎么使用?包含例子
如何在主函数调用静态变量?-------------类名.静态变量
4:static关键字的注意事项
在第一次使用是要初始化
5:static关键字自我总结
由static定义的类变量存储在内存中的静态域,也称之为静态区。
6:在学习static关键字时认为用这个关键字定义的变量为静态变量。思考:类中的成员变量和静态变量的区别是什么?
参考例子:
1)成员变量中有 实例变量,静态变量,常量都属于成员变量。
那问题是:实例变量和类变量的区别是?
实例变量属于某个对象的属性,必须创建了对象,系统才会为实例变量创建内存动态分配空间才能用。而类变量不属于对象,它属于类,所以称为类变量。只要jvm虚拟机加载了类字节码文件,不需要创建对象,静态变量就分配了空间(在静态区),就可以使用了,所有对象都共享这一块内存(所有的类变量都在这块内存中)。
实例变量在类中声明,不在方法,构造方法声明,方法和构造方法是局部变量。
2)在类中由java基本数据类型定义的变量称之为 实例变量 。很好记忆,因为类通过new实例化成对象,所以叫实例变量或者说成员变量属于对象,所以叫实例变量。在类中由static定义的变量称之为类变量,也叫静态变量。(只要用到了了static关键字,就是类变量)
----------------------------------待续更新。