Review&Improve Java (1)-OOP Foundation(1)

对Java语言和相关技术的回顾和进一步提升是我一直想做的一件事情,在此将复习和提升过程学到的东西简要记录,博客中相关的电子教案来自于bilibili尚硅谷的教程,只当作闲暇时的一点乐趣。

一、Java面向对象学习的主线:

  1. 属性、方法、构造函数;代码块、内部类、匿名类
  2. 2.OOP三大特性:封装性继承性多态性、(抽象性
  3. 关键字的学习(super、this、static、final、abstract、interface、package、import.etc)

编程的两种范式,面向过程面向对象

  1. 前者强调功能行为,以函数为最小单位,考虑怎么做(算法)
  2. 后者强调具备了功能的对象,以对象为最小单位,考虑由谁来做

面向对象相对于面向过程,抽象程度更高。

二、OOP的基本元素:类和对象

  1. :类是对一类事物的描述,是抽象的、概念上的定义
  2. 对象:对象是实际存在的该类事物的每个个体,因而也称为实例(instance)。
  3. 对象属性(field):对应类中的成员变量
  4. 对象行为(Method):对应类中的成员方法
  5. 当使用一个类创建多个对象时,每个对象都拥有独立的一套属性(非static情况下),之间是不相互影响的。
  6. Java对象的赋值默认情况下是传引用的,比如说:
Class Animal{
//Animal类的定义
}
Animal A = new Animal();
//这样的操作使得A、B指向堆的同一地址空间,对B的改变也会影响到A
Animal B = A;
  1. 类中声明的成员变量都是有默认初始值的,这意味着有默认构造方法存在:
类型默认初始值
整型(byte, short, int, long)0
浮点型(short ,double)0.0
字符型(char)0
布尔型(boolean)false
引用数据类型(类、数组、接口)null
  1. 类的成员变量与局部变量的不同

成员变量和局部变量的不同

三、对象的内存解析
堆、栈和方法区
具体到编程的例子,看下面这张图:
在这里插入图片描述
注意:

  1. 对象的引用,也就是对象在堆中的地址是保存在中的,它是局部变量。
  2. 具体对象的属性值是保存在中的。
  3. 当发生对象的赋值时,本质是引用(指针)的赋值,p3和p1指向了同一个地址空间。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值