本类中构造函数的引用一定且只能用this 静态的static的引用用类名,非静态的引用用对象
静态方法是跟实例无关的方法,只跟类有关,在类没有实例的时候就可以使用其静态方法。静态方法不能操作非静态变量,因为非静态变量是跟实例相关的,每个实例的非静态变量都不同,而类的静态变量是所有实例共有的。this是跟实例相关的,它就是当前调用该方法的实例的引用,这跟静态方法矛盾。而一般的方法可以操作静态变量,虽然允许这样做,但是不推荐。一般的方法必须由类的实例的引用调用,在没有实例的时候是没法调用的。
静态方法也叫类方法。在类被加载的时候被初始化,可以通过类名和对象名进行调用,在类内部可以直接调用。仅该方法不需要实例化对象,即可调用。
在静态的方法中不能以任何形式引用this,因为this默认的对象引用,静态方法被调用时,this所引用的对象并没有产生,this无所指向.
就是说一个静态的方法不能存在this去指向变量等等,如
public static void fun() {
this.a = b; //不能存在this,只能是a = b 而且这个a和b一定要是静态的
}
|