//++++++本文仅供初学者使用++++++//
Static静态:
1、静态成员
*这里我们先为J类分别加入一个动态成员(length)和静态成员变量(width)。
class J{
int length; //成员变量length
static int width; //静态成员变量width
void setvalue(int length1,int width1){
length=length1;
width=width1;
}
}
**创建对象和对象调用
方法①:
public class rectangle{
public static void main(String args[]) {
J S1=new J();
S1.setvalue(5, 2);
System.out.println("长为:"+S1.length+"宽为:"+J.width);
}
}
运行结果:
方法②:
public class rectangle{
public static void main(String args[]) {
J S1=new J();
J S2=new J();
S1.setvalue(5, 2);
System.out.println("长为:"+S1.length+"宽为:"+J.width);
System.out.println("长为:"+S2.length+"宽为:"+J.width);
}
}
运行结果:
特别注意 :
1、使用静态成员时,该变量不再属于对象自己,而是属于所在的类,多个对象共享同一份数据。
2、静态成员调用时,尽量使用(类名称.方法名)的方法。*
2、静态方法
*这里我们先为J类分别定义一个动态方法(area)和静态方法(setvalue)。
class J{
static int length; //成员变量length
static int width; //静态成员变量width
int area(){
return length*width;
}
static void setvalue(int length1,int width1){
length=length1;
width=width1;
}
**创建对象和对象调用
方法①:
public class rectangle{
public static void main(String args[]) {
J S1=new J();
J.setvalue(5, 2); //此时建议使用(类名.静态方法名)的方式调用
System.out.println("面积:"+S1.jusuan());
System.out.println("长为:"+S1.length+"宽为:"+J.width);
}
}
运行结果:
方法②:
public class rectangle{
public static void main(String args[]) {
J S1=new J();
J.setvalue(5, 2); //此时建议使用(类名.静态方法名)的方式调用
System.out.println("面积:"+S1.jusuan());
HT();
System.out.println("长为:"+S1.length+"宽为:"+J.width);
}
public static void HT() {
System.out.println("*******");
}
}
运行结果:
特别注意:
1、一旦使用static修饰成员方法,那么就是静态方法。静态方法不属于对象,而是属于类。
2、静态方法不需要重新创建对象名,直接(类名.方法名)即可。
3、静态方法只可以访问静态变量,而动态方法既可以访问动态变量,也可访问静态变量。