CoreJava学习笔记02 面向对象

面向对象

编程思想

需求 ------>分析 ------>设计------>实现------>测试
面向过程 :程序的核心是代码逻辑 基本的组成单元是函数
对象:一切客观存在的事务

现实世界

需求来自现实世界,现实世界的核心不是过程,而是对象,过程是依附于对象存才的
1) 有什么 对象的属性
2) 能做什么 对象的方法 如何实现方法才能体现出过程
生活中的对象的关系
1)关联关系 : 一个对象成为另一个对象的属性 has a
2) 继承关系:一个对象是另一个对象 is a
3) 依赖关系:一个对象调用了另一个对象的方法 use a
生活中解决需求的思路:先有对象,建立对象之间的关系,最后设计过程(面向对象思想)

编程

计算机中的对象 : 数据
独立的数据单元 代表生活中的对象,数据类型、属性、方法都和生活中的对象保持一致,让计算机中的对象同样可以建立生活中对象的三种关系
面向对象的核心思想: 程序是核心、是对象 基本的组成单元 :类

计算机中的对象

属性 :数据(变量)(成员变量)
方法: 函数(成员方法)

类和对象

对象:数据
类:数据类型 程序员可以定义新的数据类型,以表示不同的对象

在这里插入图片描述

类中的属性 成员变量

局部变量和成员变量的区别

局部变量成员变量
定义范围定义在方法内部定义在类中,任何方法之外
赋值先赋值,后使用可以不赋值,直接使用(有默认值,默认值不会改变,初始值可以改变)
作用范围从声明开始,到所在代码块结束全类内部
同名问题作用域重合范围内,不允许两个局部变量同名成员变量可以和局部变量同名。同名时,局部变量优先访问

类中的方法

1 方法声明     格式:    修饰符  返回值类型  方法名(形参列表)抛出的异常
2方法实现      代码块 {}

如果有多个修饰符 顺序无关紧要

方法的重载(overLoad)

在一个类中,可以定义多个同名的方法,参数表不同(参数个数、类型和类型排列顺序)
只有形参名不同 不属于重载
编译时多态 : 编译器通过实参对应匹配相应形参的方法
重载的作用: 将对象同类行为, 由于参数表的不同造成的差异, 对用户屏蔽

构造方法

对象创建的过程

  1. 分配空间 对象的属性被赋予默认值
  2. 初始化属性 对象的属性被赋予初始值
  3. 调用构造方法 对象的属性通常可以被赋予构造参数

构造方法:只有在对象创建的过程中 被调用一次

  1. 不能收工调用(不能主动调用)
  2. 没有返回值类型
  3. 方法名必须和类名相同

如果一个类中没有定义任何构造方法,编译器会提供默认的公开无参的构造方法

通过类 创建并访问对象

new 类名(构造参数) 引用 对象的地址
变量:(根据类型的不同分两种)

  1. 简单数据类型变量:8种基本类型 (存放的是数据)
  2. 对象变量(引用):对象类型 (存放的是地址)

如果方法的参数是引用,当实参传给形参时,传的是地址,实参和形参共同指向同一个对象

this
  1. 引用 指向当前对象 如果访问属性或方法,没有明确指定引用,编译器默认添加 this.,用来区分成员变量和局部变量this.a成员变量 a局部变量
  2. 用在构造方法中调用本类其他的构造方法
    对this的调用必须是第一个语句

CoreJava学习笔记03 面向对象的三大特性 封装、继承、多态

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值