成员变量和局部变量有什么区别
大体有3点:
1:成员变量直接定义在类中。
局部变量定义在方法中,参数上,语句中。
2:成员变量在这个类中有效。
局部变量只在自己所属的大括号内有效,大括号结束,局部变量失去作用域。
3:成员变量存在于堆内存中,随着对象的产生而存在,消失而消失。
局部变量存在于栈内存中,随着所属区域的运行而存在,结束而释放。
什么是类变量,什么是成员变量,什么是实例变量,什么是局部变量,四者各有什么区别
类中的static成员,只有一个实例。也就是所有的类的实例都用同一个变量。
如果这个变量是public的,那类的外部能够直接访问,方法是类名::变量名。
class A
{
public:
static int x;
int y;
};
A a1, a2; // 创建了两个A的实例
a1.x = 10; // 可以这样用,也可以 A::x = 10; 或 a2.x = 10; 效果完全一样,都对同一个变量操作
a1.y = 12; // 这是普通成员变量,a1.y 和 a2.y 是分属两个实例中的
局部变量是在函数或方法中的变量,实例变量指的是类的一个实例,就是一个对象, 成员变量就是类中的变量(不是方法中的变量!), 类变量是类中的静态变量。
局部、实例、成员变量的作用域和生存周期同局部变量一样,而类变量如果用public声明则作用域同全局变量,如果是private则作用域只在类的内部,
生存周期同全局变量.
成员方法和类方法跟局部变量和类变量的关系一样.
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!