资讯专栏INFORMATION COLUMN

Java成员变量和局部变量

edagarli / 529人阅读

摘要:在语言中,根据定义的位置不同,可以将变量分为两大类成员变量和局部变量。成员变量被分为类变量和实例变量两种,定义成员变量时没有修饰的就是实例变量,有修饰的就是类变量。与成员变量不同的是,局部变量除了形参之外,都必须显示初始化。

在Java语言中,根据定义的位置不同,可以将变量分为两大类:成员变量和局部变量。


成员变量指的是在类里定义的变量。成员变量被分为类变量和实例变量两种,定义成员变量时没有static修饰的就是实例变量,有static修饰的就是类变量。
其中类变量从该类的准备阶段开始存在,知道系统完全摧毁这个类。而实例变量则从该类的实例被创建起开始存在,直到系统完全摧毁这个实例。

成员变量无需显示初始化,只要为一个类定义了类变量或实例变量,系统就会在这个类的准备阶段或创建该类的实例时进行默认初始化。同一个类的所有实例访问类变量时,实际上访问的是该类本身的一个变量,也就是说,访问了同一片内存区。
与成员变量不同的是,局部变量除了形参之外,都必须显示初始化。

在同一个类里,成员变量的作用范围是整个类内有效,一个类里不能定义两个同名的成员变量,即使一个是类变量,一个是实例变量也不行。
一个方法或一个代码块内不能定义两个同名的局部变量。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/68512.html

相关文章

  • Java 面向对象1 类 对象 方法 变量 封装

    摘要:因为通常把不使用修饰的成员变量和方法也称为实例变量实例方法。形参个数可变的方法允许定义形参个数可变的参数,从而允许为方法指定数量不确定的形参。方法返回值类型修饰符等,与方法重载没有任何关系。 类和对象 定义类 面向对象的程序设计过程中有两个重要概念:类(class)和对象(object,也被称为实例,instance),其中类是某一批对象的抽象,可以把类理解成某种概念;对象才是一个具体...

    huangjinnan 评论0 收藏0
  • Java学习笔记——局部变量成员变量

    摘要:局部变量定义在方法中的变量。初始值成员变量它存储在堆中,如果没有赋初值,它有默认值整数局部变量要想使用必须手动初始化注意事项局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。 声明:本文首发于我的个人微信公众号【Java编程社区】,查看更多文章与学习资源请移步我的公众号Java编程社区 成员变量:定义在类中的变量。局部变量:定义在方法中的变量。 成员变量与局部变...

    whjin 评论0 收藏0
  • Java 面向对象(上)

    摘要:对象的引用关键字总是指向调用该方法的对象。根据出现位置的不同,作为对象的默认引用有两种情形。构造器中引用该构造器正在初始化的对象。如果同一个类中包含了两个或两个以上方法的方法名相同,但形参列表不同,则被称为方法重载。 类和对象 定义类 面向对象的程序设计过程中有两个重要概念:类(class)和对象(object,也被称为实例,instance),其中类是某一批对象的抽象,可以把类理解成...

    SimonMa 评论0 收藏0
  • Java™ 教程(局部类)

    局部类 局部类是在块中定义的类,它是一对大括号之间的一组零个或多个语句,你通常会在方法体中找到定义的局部类。 声明局部类 你可以在任何块中定义局部类(有关详细信息,请参阅表达式、语句和块),例如,你可以在方法体、for循环或if子句中定义局部类。 以下示例LocalClassExample验证两个电话号码,它在validatePhoneNumber方法中定义了局部类PhoneNumber: pub...

    meislzhua 评论0 收藏0
  • Java Nested Classes(内部类~第一篇英文技术文档翻译)

    摘要:鄙人最近尝试着翻译了自己的第一篇英文技术文档。如果我们需要在其他外部类中使用内部类,则一定要将嵌套类声明为或者。方法中的会覆盖掉内部类中的。因此,对于一个内部类序列化后,使用不同的进行反序列化的话,可能会存在兼容性的问题。 鄙人最近尝试着翻译了自己的第一篇英文技术文档。Java Nested Classes Reference From Oracle Documentation 嵌套类...

    zzzmh 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<