• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

面向对象编程基础4类的成员:一成员变量(field)

武飞扬头像
沈四岁
帮助1

目录

4.1 如何声明成员变量

语法格式:

说明:

位置要求:必须在类中,方法外

修饰符2(暂不考虑)

数据类型

成员变量名

初始化值

示例:

4.2 成员变量 vs 局部变量

1、变量的分类:成员变量与局部变量

2、成员变量 与 局部变量 的对比

相同点

不同点

3、对象属性的默认初始化赋值

4:举例


4.1 如何声明成员变量

  • 语法格式:

    1.  
      [修饰符1] class 类名{
    2.  
      [修饰符2] 数据类型 成员变量名 [= 初始化值];
    3.  
      }
  • 说明:

    • 位置要求:必须在类中,方法外

    • 修饰符2(暂不考虑)

      • 常用的权限修饰符有:private、缺省、protected、public
      • 其他修饰符:static、final
    • 数据类型

      • 任何基本数据类型(如int、Boolean) 或 任何引用数据类型。
    • 成员变量名

      • 属于标识符,符合命名规则和规范即可。
    • 初始化值

      • 根据情况,可以显式赋值;也可以不赋值,使用默认值
  • 示例:

  1.  
    public class Person{
  2.  
    private int age; //声明private变量 age
  3.  
    public String name = “Lila”; //声明public变量 name
  4.  
    }
  5.  
     

4.2 成员变量 vs 局部变量

1、变量的分类:成员变量与局部变量

  • 在方法体外,类体内声明的变量称为成员变量。
  • 在方法体内部等位置声明的变量称为局部变量。学新通

 学新通

  1.  
    其中,static可以将成员变量分为两大类,静态变量和非静态变量。
  2.  
    其中静态变量又称为类变量,非静态变量又称为实例变量或者属性。接下来先学习实例变量。

2、成员变量 与 局部变量 的对比

  • 相同点

    • 变量声明的格式相同: 数据类型 变量名 = 初始化值
    • 变量必须先声明、后初始化、再使用。
      
    • 变量都有其对应的作用域。只在其作用域内是有效的
  • 不同点

1、声明位置和方式
(1)实例变量:在类中方法外
(2)局部变量:在方法体{}中或方法的形参列表、代码块中

2、在内存中存储的位置不同
(1)实例变量:堆
(2)局部变量:栈

3、生命周期
(1)实例变量:和对象的生命周期一样,随着对象的创建而存在,随着对象被GC回收而消亡,
而且每一个对象的实例变量是独立的。
(2)局部变量:和方法调用的生命周期一样,每一次方法被调用而在存在,随着方法执行的结束而消亡,
而且每一次方法调用都是独立。

4、作用域
(1)实例变量:通过对象就可以使用,本类中直接调用,其他类中“对象.实例变量”
(2)局部变量:出了作用域就不能使用

5、修饰符(后面来讲)
(1)实例变量:public,protected,private,final,volatile,transient
(2)局部变量:final

6、默认值
(1)实例变量:有默认值
(2)局部变量:没有,必须手动初始化。其中的形参比较特殊,靠实参给它初始化。

3、对象属性的默认初始化赋值

当一个对象被创建时,会对其中各种类型的成员变量自动进行初始化赋值。

学新通

4:举例

  1.  
    class Person {//人类
  2.  
    //1.属性
  3.  
    String name;//姓名
  4.  
    int age = 1;//年龄
  5.  
    boolean isMale;//是否是男性
  6.  
     
  7.  
    public void show(String nation) {
  8.  
    //nation:局部变量
  9.  
    String color;//color:局部变量
  10.  
    color = "yellow";
  11.  
    }
  12.  
    }
  13.  
     
  14.  
    //测试类
  15.  
    class PersonTest {
  16.  
    public static void main(String[] args) {
  17.  
    Person p = new Person();
  18.  
    p.show("CHN");
  19.  
    }
  20.  
    }
学新通

 学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhghekjb
系列文章
更多 icon
同类精品
更多 icon
继续加载