加载类时会调用非静态函数么

如题所述

加载类时会调用非静态函数。

静态函数内的确是不能调用非静态函数的。但是静态函数可以调用静态函数以及静态成员。

对于类的非静态成员函数,需要先构造该类的对象,然后用点(.)操作符获得对象(如果是指向对象的指针用箭头操作符(->))的成员!如果该成员函数是静态的,那么就可以用你的方式调用!

加载类时会调用非静态函数原因:静态函数或静态变量,独立于类的任意对象而存在,是与类关联的对象!而非静态刚好相反!非静态只与类的对象相关!

非静态函数Static关键字:

在类中,用static声明的成员变量为静态成员变量,它为该类的公用变量,在第一次使用时被初始化,对于该类的所有对象来说,static成员变量只有一份。

用static声明的方法是静态方法,在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可访问非static的成员。

静态方法不再是针对于某个对象调用,所以不能访问非静态成员。可以通过对象引用或类名(不需要实例化)访问静态成员。

温馨提示:答案为网友推荐,仅供参考
相似回答