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

文章详细介绍了Java中成员变量的声明格式、位置要求以及与局部变量的区别。成员变量在类中方法外声明,而局部变量位于方法体内部。两者在内存存储位置、生命周期、作用域和默认值方面有所不同。此外,文章还提到了对象属性的默认初始化赋值情况。
摘要由CSDN通过智能技术生成

目录

4.1 如何声明成员变量

语法格式:

说明:

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

修饰符2(暂不考虑)

数据类型

成员变量名

初始化值

示例:

4.2 成员变量 vs 局部变量

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

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

相同点

不同点

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

4:举例


4.1 如何声明成员变量

  • 语法格式:

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

  • 说明:

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

    • 修饰符2(暂不考虑)

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

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

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

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

public class Person{
	private int age;             //声明private变量 age
	public String name = “Lila”;    //声明public变量 name
}

4.2 成员变量 vs 局部变量

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

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

 

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

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:举例

class Person {//人类
    //1.属性
    String name;//姓名
    int age = 1;//年龄
    boolean isMale;//是否是男性

    public void show(String nation) {
        //nation:局部变量
        String color;//color:局部变量
        color = "yellow";
    }
}

//测试类
class PersonTest {
    public static void main(String[] args) {
        Person p = new Person();
        p.show("CHN");
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值