面向对象2:类和对象

属性

又称为成员变量,也叫域、字段(field)

方法

方法=成员方法=函数=method

如果创建了一个类的多个对象,每个对象都独立拥有一套这个类的属性(非static的)。即,如果我们修改一个对象的属性,不影响另外一个对象属性的值。

Person p3=p1;//p1是基于Person类的对象

以上代码表明将p1对象的地址值赋给了p3,即p3和p1指向同一个对象实体。修改p1也就是修改p3,修改p3也就是修改p1。

JAVA内存解析:

虚拟机栈(VM stack):用于存放局部变量。
堆(heap):用于存放对象实例。
方法区(method area):类信息、常量、静态变量等。

方法中定义的变量都是局部变量

类中属性(成员变量)VS局部变量

1.不同点
1.1在类中声明的位置不同
属性:直接定义在类的一对{}中
局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内的变量
1.2关于权限修饰符的不同
属性:可以在声明属性时,指明其权限,使用权限修饰符。
常用的权限修饰符:private public 缺省 protected
1.3默认初始化值不同
属性:整形:0 浮点型:0.0 布尔型:false 字符型:0 引用数据类型:null
局部变量:没有初始化值。这意味着在调用局部变量之前,一定要显示赋值。特别地,形参在调用时赋值就行。
1.4二者在内存中加载的位置不一样
属性加载到堆空间中(static加载到方法区),局部变量加载到栈中
2相同点
2.1定义变量的格式:数据类型 变量名=变量值
2.2先声明,后使用
2.3都有作用域

方法的声明

权限修饰符 返回值 方法名(形参列表)
{
	方法体
}

其中,形参列表可以没有,形参可以有0~多个

方法的使用中,可以调用当前类的属性和方法

不能在方法里再定义方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值