漫谈Java(3-2) - 成员变量

3.2.1  属性的声明

属性是对象状态的描述。在Java中,一切都是从类开始,因此,属性也是在类中定义的。一个变量直接作为类的成员来定义,该变量就是成员变量,也就是属性。例如,

class CoffeeHouse {

int employeeCount;

}

在上例中,变量employeeCount直接定义在类CoffeeHouse之下,是作为类的成员出现的。因此,employeeCount是类CoffeeHouse的一个属性。属性的有效区域(作用范围)是整个类。也就是说,在整个类的内部,都可以通过employeeCount标识符来引用该属性。

3.2.2  属性与局部变量

局部变量和属性比较相似,二者都是变量。但是,局部变量不是直接定义在类之下,而是出现在方法或者代码块等位置,变量的有效区域也仅限于其所出现的方法或者代码块内部。例如,

class CoffeeHouse {

int employeeCount = 20;

 

{

String tmpName = "张三";

}

}

与变量employeeCount相比,tmpName定义在另外一个代码块(一对大括号所包含的代码)内部。那么,employeeCount是一个属性(成员变量);而tmpName只是一个局部变量。在代码块外部,变量tmpName是无效的,如果尝试引用该变量,那么,编译器将抛出错误。

3.2.3  强类型与弱类型

对于变量或常量,标识符(也就是变量和常量的名字)是必不可少的。除此之外,就是数据类型和实际值。定义变量或者常量时,是否需要数据类型也是不定的。这与具体的编程语言有关——强类型与弱类型编程语言。

强类型语言是指,在定义变量或者常量时,要求指定数据类型的语言。比较典型的有,Java、C#等。值得注意的是,变量和常量的值,必须与声明的数据类型完全一致,否则无法编译通过。

String a = "12";

a = 13; // 将抛出编译错误,因为此处的赋值与其数据类型不符合

弱类型语言是指,在定义变量或者常量时,无须指定数据类型的语言。比较典型的有,JavaScript、VBScript等。

a = "12";

a = 13; //不会有任何编译时和运行时错误,因为JavaScript对类型不敏感。实际是根据变量的值来确定数据类型

属性也是变量的一种,数据类型是变量声明中必不可少的部分,我们将在接下来的章节中重点介绍Java中的各种数据类型。

 

更多技术交流文章,请关注微信公众号【时代码农】

时代码农

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值