面向对象

面向对象和面向过程的区别

面向过程  首先思考 “怎么按步骤实现” 并将步骤方法 一步一步实现  最终完成 (适合简单的任务  不需要协助的业务)

面向对象  把物件分开  按照对象分开

面向过程和面向对象都是对软件分析.设计和开发的一种思想。

宏观上使用面向对象把握 微观处理上仍然是面向过程

对象 : 一个完整的个体  有变量 和 方法 (自己理解的)

项目(企业)的进化过程 随着数据的增多而分类     无数据管理时代  ---- 》数组管理和企业的部门制度 ----> 对象和企业项目制度

类是对象的抽象  程序运行的时候通过类产生对象

属性 : 标识对象的静态特征

方法  : 标识对象的行为 

垃圾回收机制

1 发现无用的对象

2回收无用的垃圾所占用的空间

如何发现 ; 

1 引用计数法  : 堆中每一个对象都有一个引用计数  如果引用一次加1 如果为0标识无引用

                   优点 : 算法简单   确定 循环引用的对象无法识别

2 引用可达法 把引用关系看做一张图 从根点开始寻找对应的引用节点  找到这节点后继续寻找这个节点的引用节点  寻找完毕  没                     有引用的是无用节点

通用的分代垃圾回收机制

年轻代  年老代  持久代

System.gc()   只是请求gc清理  gc是否清理得垃圾回收机制

this

用来表示对象本身

常用用法  1 用this表示对象本身变量      2 用this调用重构构造函数  必须再构造函数的第一句

static

用static申明的成员变量为静态成员变量   生命周期与类相同  再整个应用程序执行期间都有效

final

修饰变量 一旦赋值就不能被更改

修饰方法  改方法不能被重写 但是能重载

修饰类 该类不能被继承

参数传值机制

方法中所有的参数都是值传递

引用类型参数的传值     传递的是值的副本 ,但是引用类型指的是“对象的地址”  因此副本和原参数都指向了通一地址,改变副本参数指向的值  原参数也发生改变。

继承 

子类继承父类的属性和方法  

方法重写  override

 ==  方法名  形参列表相同

≤   返回值类型和声明异常类型  子类小于等于父类

≥    访问权限  子类大于等于父类

Object

所有类的根基类    所有java对象都有object 属性和方法

==  和 equals

 "=="  代表比较双方是否相同  如果是基本类型则表示相等 如果是引用类型表示地址相等即是同一个对象

equals  提供定义 “对象内容相等” 的逻辑

super

是直接父类对象的引用  可以通过super来访问父类中被子类覆盖的方法或属性

构造方法的第一句总是  super()来调用父类的构造方法   (创建子类之前先创建一个父类  子类包含父类)

封装的作用和含义  

就是把操作对象的属性和操作结合成一个独立的个体

java三大特性  继承  封装 和 多态

优点

1 提高代码的安全性

2提高代码的复用性

3 高内聚 低耦合

多态

同一个方法的调用  由于对象不同可能会有不同的行为 

多态是方法的多态 不是属性的多态

多态的存在要有三个必要条件  继承  方法重写 父类引用指向子类对象

父类引用指向子类对象后  用该父类引用调用子类重写方法   多态出现了

数组

相同类型数据的有序结合  

格式    type[ ] arrya_name

初始化   int[ ]   array = new int[10];       array 在栈内存上        int[10]  在堆上储存

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值