`

静态方法和实例方法的区别

 
阅读更多
静态方法和实例方法的区别主要体现在两个方面
1 在外部调用静态方法时,可以使用类名.方法名的方式也可以使用对象名.方法名的方式。而实例方法只有后面这种方式。也就是说调用静态方法可以无需创建对象
2 静态方法在访问本类的成员时只允许访问静态成员(即静态成员变量和静态方法)而不允许访问实例成员变量和实例方法,实例方法则无此限制
public class accessMember {
private static int sa;
private int ia;
static void statMethod(){
int i=0;// 正确可以有自己的局部变量
sa=10;//正确静态方法可以访问静态变量
otherStat();//正确静态方法可以调用静态方法
ia=20;//错误,不能使用实例变量
insMethod();//错误不能使用实例方法
}
static void otherStat(){
}
void insMethod(){
int i=0;
sa=15;
ia=30;
statMethod();
}
}


本例其实可以概括成一句话,静态方法只能访问静态成员,实例方法可以访问静态和实例成员
之所以不允许静态方法访问实例成员变量时引文实例成员变量时属于某个对象的,而静态方法在执行时,并不一定存在对象。
注意main方法也是一个静态方法,其访问页遵循上面的特点
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics