一.静态成员
1.static修饰的成员属于类的静态成员
2.静态成员最本质的特点是:静态成员是一个类族的成员,不属于任何一个类的具体对象,静态成员只有一个拷贝。
3.静态成员不保存在某个对象的内存区域内,而是保存在内存区域的公共存储单元中。
4.静态数据成员
对一个类的任何具体的对象而言,静态数据成员是该类所有对象的一个公共单元,任何一个类的对象对该单元的修改,也都是对同一个内存单元的修改。
二.静态成员方法
1.和静态成员变量类似,用static修饰符修饰的方法属于一个类族的方法。而不用static修饰的方法属于某个具体对象的实例方法。
2.声明一个方法的属性为static具有如下的含义:
a.非static方法是属于某个对象的方法,在系统创建这个对象时,对象的方法也在内存中拥有自己专用的代码;而static方法属于一个类族,它在内存中的代码段将随着类的加载
而加载,不是某个对象所专有的
b.由于static方法属于整个类族,所以不能操纵和处理属于某个对象成员变量,只能处理属于该类族的成员变量,也就是static方法只能处理static成员变量。
c.调用由static修饰的方法时,可以使用类名做前缀,即“类型名.成员方法名";也可以使用对象名前缀,即"对象名.成员方法名";而非static方法只能使用对象名前缀,即"对象名. 成员方法名"
三、综合实践
package com.wsq.www;
/*
*
*/
public class Static_1 {
@SuppressWarnings("static-access")
public static void main(String[] args) {
// TODO
Wansuqi A=new Wansuqi(10);
System.out.print(");
A.Show();
System.out.print(");
Wansuqi.Show();
}
static int A;
static int B=40; //
Wansuqi(int a){
A=a;
B+=a;
}
static void Show()//
{
System.out.println("A="+A+";B="+B);
}
}
运行结果:
用A.Show()调用:A=10;B=50
用Wansuqi.Show()调用:A=10;B=50
1.static修饰的成员属于类的静态成员
2.静态成员最本质的特点是:静态成员是一个类族的成员,不属于任何一个类的具体对象,静态成员只有一个拷贝。
3.静态成员不保存在某个对象的内存区域内,而是保存在内存区域的公共存储单元中。
4.静态数据成员
对一个类的任何具体的对象而言,静态数据成员是该类所有对象的一个公共单元,任何一个类的对象对该单元的修改,也都是对同一个内存单元的修改。
二.静态成员方法
1.和静态成员变量类似,用static修饰符修饰的方法属于一个类族的方法。而不用static修饰的方法属于某个具体对象的实例方法。
2.声明一个方法的属性为static具有如下的含义:
a.非static方法是属于某个对象的方法,在系统创建这个对象时,对象的方法也在内存中拥有自己专用的代码;而static方法属于一个类族,它在内存中的代码段将随着类的加载
而加载,不是某个对象所专有的
b.由于static方法属于整个类族,所以不能操纵和处理属于某个对象成员变量,只能处理属于该类族的成员变量,也就是static方法只能处理static成员变量。
c.调用由static修饰的方法时,可以使用类名做前缀,即“类型名.成员方法名";也可以使用对象名前缀,即"对象名.成员方法名";而非static方法只能使用对象名前缀,即"对象名. 成员方法名"
三、综合实践
package com.wsq.www;
/*
*
*/
public class Static_1 {
@SuppressWarnings("static-access")
public static void main(String[] args) {
// TODO
Wansuqi A=new Wansuqi(10);
System.out.print(");
A.Show();
System.out.print(");
Wansuqi.Show();
}
}class Wansuqi{
static int A;
static int B=40; //
Wansuqi(int a){
A=a;
B+=a;
}
static void Show()//
{
System.out.println("A="+A+";B="+B);
}
}
运行结果:
用A.Show()调用:A=10;B=50
用Wansuqi.Show()调用:A=10;B=50