成员变量类中成员变量和局部变量的区别

成员变量  时间:2021-09-08  阅读:()

什么是局部变量和成员变量?希望能举例,在编程里指明

局部变量指在程序中,只在特定过程或函数中可以访问的变量,是相对与全局变量而言的。

在面向过程和面向对象编程语言中均有,是程序中最常见最常用的变量。

成员变量:在类体的变量部分中定义的变量,也称为属性。

几乎只出现在面向对象编程语言中。

案例1: void main() { int test = 0; //局部变量 printf("%d", test); } 案例2: public class Clothes { String id; //实例变量 private String colorType; //实例变量 private int size; //实例变量 private static String depart; //类变量 final String design="yangzi"; //常量 } 代码中的实例变量、类变量、常量都属于成员变量,那么其区分的依据是什么?这与变量的修饰符有关系,也就是上面代码中的private、static、final等修饰符。

成员变量的修饰符见表5-1。

  表5-1 成员变量的修饰符 修饰符 说明 public 成员变量可以被项目中的任何方法访问,建议尽量少用 protected 不在同一个包中的类不能访问,但子类可以访问 private 只能在同一个类中使用 static 类变量,其值为该类的所有对象共享,不会因类的对象不同而不同 final 最终成员变量,其值保持不变,即常e68a843231313335323631343130323136353331333330343937量 transient 当对象被持久化时(例如写入数据库),该成员变量的值不需要保存 volatile 同步多线程访问的成员变量的值,以便使不同的线程总是得到 该成员变量的同一个值。

关于线程

类成员变量和实例成员变量分别指什么有什么区别(举例说明)?

例如定义一个类: class Text {public static int number; public int temp;} 如果你想访问temp属性,你就必须先创建一个Text的对象,才能访问:Text? b = new Text(); b.temp;这就是实例成员变量。

而你想 访问number的话,不用创建Text的实例就可以访问,就像这样:Text.number.这就是类成员变量。

主要区别就是访问是需不需要创建对象,而对于类成员变量,所有对象是共享一个变量的。

扩展资料: 数据成员可以分静态变量、非静态变量两种. 静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用"类名.静态成员名"访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态成员 函数不能访问非静态的成员..因为静态成员存在于内存,所以非静态成员函数可以直接访问类中静态的成员. 非静态成员:所有没有加Static的成员都是非静态成员,当类被 实例化之后,可以通过实例化的类名进行访问..非静态成员的生存期决定于该类的生存期..而静态成员则不存在生存期的概念,因为静态成员始终驻留在 内存中.. 一个类中也可以包含静态成员和非静态成员,类中也包括静态 构造函数和非静态构造函数.. 分两个方面来总结,第一方面主要是相对于 面向过程而言,即在这方面不涉及到类,第二方面相对于 面向对象而言,主要说明 static在类中的作用。

参考资料:搜狗百科-成员变量

全局变量和成员变量的区别分析

成员变量也叫类的属性,一般带有访问控制属性的,而全局变量虽然也有类的属性,但全局变量严重影响了封装和模块化,一般的全局变量前面要加上static和 fina属性其中,static使该变量任何类都可用(方法 ClassName.全局变量名) ,而 fina则使得变量不可更改,基本上算是常量了,这也在一定程度上防止对变量的非法修改

类中成员变量和局部变量的区别

局部变量和成员变量主要看作用域,而作用域就是看花括号。

作用于整个类的,就是只被类的花括号包含的,就是全局变量(成员变量)。

相对而言被方法或者其他域包含的就是局部变量。

而类变量就是被static修饰的变量,也叫做静态变量。

创梦云 香港沙田、长沙联通2核1G仅需29元一个月 挂机宝7元一个月

商家介绍:创梦云是来自国内的主机销售商,成立于2018年4月30日,创梦云前期主要从事免备案虚拟主机产品销售,现在将提供5元挂机宝、特惠挂机宝、香港云服务器、美国云服务器、低价挂机宝等产品销售。主打高性价比高稳定性挂机宝、香港云服务器、美国云服务器、香港虚拟主机、美国虚拟主机。官方网站:http://cmy0.vnetdns.com本次促销产品:地区CPU内存硬盘带宽价格购买地址香港特价云服务器1...

BuyVM迈阿密KVM上线,AMD Ryzen 3900X+NVMe硬盘$2/月起

BuyVM在昨天宣布上线了第四个数据中心产品:迈阿密,基于KVM架构的VPS主机,采用AMD Ryzen 3900X CPU,DDR4内存,NVMe硬盘,1Gbps带宽,不限制流量方式,最低$2/月起,支持Linux或者Windows操作系统。这是一家成立于2010年的国外主机商,提供基于KVM架构的VPS产品,数据中心除了新上的迈阿密外还包括美国拉斯维加斯、新泽西和卢森堡等,主机均为1Gbps带...

易探云(QQ音乐绿钻)北京/深圳云服务器8核8G10M带宽低至1332.07元/年起

易探云怎么样?易探云香港云服务器比较有优势,他家香港BGP+CN2口碑不错,速度也很稳定。尤其是今年他们动作很大,推出的香港云服务器有4个可用区价格低至18元起,试用过一个月的用户基本会续费,如果年付的话还可以享受8.5折或秒杀价格。今天,云服务器网(yuntue.com)小编推荐一下易探云国内云服务器优惠活动,北京和深圳这二个机房的云服务器2核2G5M带宽低至330.66元/年,还有高配云服务器...

成员变量为你推荐
物联网设备物联网设备吗,智能监测之类的连接池什么是连接池,连接池有什么作用jsp源码在网上下的jsp源码怎么运行?有数据库的网络限速软件谁有网络限速的软件,路由器。很卡~别人一看电影什么都干不了。提供个限速的软件。下载成功给分!code查询手机CODE查询里程碑2求摩托罗拉里程碑2的优缺点,及性能简介科学计算器说明书如何使用科学计算器约束是什么意思约束,是什么意思。如有回答,请详细,360官网打不开为何360安全卫士自动退出,所有的360官方网站打不开啊?趋势防毒如何给服务器安装趋势防毒网络版软件
如何查询域名备案号 动态域名解析软件 主机屋 七牛优惠码 openv 免备案cdn 免费网络电视 eq2 三拼域名 全站静态化 bgp双线 国外免费asp空间 申请网页 shopex主机 美国独立日 双线asp空间 dnspod 智能dns解析 腾讯数据库 密钥索引 更多