static变量的特点:
1.被static修饰的数据被所有对象共享,static修饰的数据出现在对象之前。
2.static修饰的数据可以被类名访问。类名.静态成员。
3.static是修饰符,用于修饰成员。
《成员变量和静态变量的区别》
1.成员变量随着对象的创建而存在,随着对象的被收回而释放。
2.静态变量随着类的加载而存在,随着类的消失而消失。
3.只要类不消失,静态变量就存在。生命周期长。
2.调用方式不同。静态对象和类都行。一般,静态变量建议用类名调用。
3.数据存储位置不同。成员变量数据存储在堆内存中,所以也叫对象的特有数据。静态成员变量存储在方法区。
4.静态使用的注意:
(1)静态方法只能访问静态成员。(非静态既可以访问静态,也可以访问静态)
(2)静态方法中不可以定义this或者super关键字。
(3)主函数是静态的。只能访问静态的。
5. 主函数的特殊之处:
(1)格式固定
(2)被jvm所识别和调用
public:权限必须最大
static:不需要对象,直接用主函数所属类名调用即可。
void:没有返回值,也不需要返回值
main:函数名,不是关键字
String[] args:这是主函数的参数列表,而且元素都是字符串类型。
给主函数传值:直接在dos窗口中空格后跟值 (java 类名 值。)
6.static什么时候用?
(1)当分析对象中所具备的成员变量的值都是相同的。只要数据在对象中都是不同的,就是对象的特有数据,必须存储在对象中, 是非静态的。 如果是相同的数据,对象不需要做修改,只需使用即可。不需要存在对象中定义为static。
(2)函数是否用静态的,只需参考一点,就是该函数功能是否访问到类的特有, 数据。只要该功能需要访问非静态数据就不能定义成静态的。如果不需要就可以将该功能定义成静态的,也可以定义成非静态的。
另外:对象是用来封装特有数据的,没有使用特有数据就不必创建对象,浪费地址空间。
7.静态代码块:
随着类的加载而执行,而且只执行一次。
作用:
用于给类进行初始化。功能类似构造函数。
1.被static修饰的数据被所有对象共享,static修饰的数据出现在对象之前。
2.static修饰的数据可以被类名访问。类名.静态成员。
3.static是修饰符,用于修饰成员。
《成员变量和静态变量的区别》
1.成员变量随着对象的创建而存在,随着对象的被收回而释放。
2.静态变量随着类的加载而存在,随着类的消失而消失。
3.只要类不消失,静态变量就存在。生命周期长。
2.调用方式不同。静态对象和类都行。一般,静态变量建议用类名调用。
3.数据存储位置不同。成员变量数据存储在堆内存中,所以也叫对象的特有数据。静态成员变量存储在方法区。
4.静态使用的注意:
(1)静态方法只能访问静态成员。(非静态既可以访问静态,也可以访问静态)
(2)静态方法中不可以定义this或者super关键字。
(3)主函数是静态的。只能访问静态的。
5. 主函数的特殊之处:
(1)格式固定
(2)被jvm所识别和调用
public:权限必须最大
static:不需要对象,直接用主函数所属类名调用即可。
void:没有返回值,也不需要返回值
main:函数名,不是关键字
String[] args:这是主函数的参数列表,而且元素都是字符串类型。
给主函数传值:直接在dos窗口中空格后跟值 (java 类名 值。)
6.static什么时候用?
(1)当分析对象中所具备的成员变量的值都是相同的。只要数据在对象中都是不同的,就是对象的特有数据,必须存储在对象中, 是非静态的。 如果是相同的数据,对象不需要做修改,只需使用即可。不需要存在对象中定义为static。
(2)函数是否用静态的,只需参考一点,就是该函数功能是否访问到类的特有, 数据。只要该功能需要访问非静态数据就不能定义成静态的。如果不需要就可以将该功能定义成静态的,也可以定义成非静态的。
另外:对象是用来封装特有数据的,没有使用特有数据就不必创建对象,浪费地址空间。
7.静态代码块:
随着类的加载而执行,而且只执行一次。
作用:
用于给类进行初始化。功能类似构造函数。
写法:
static{
//内容
}