Day07总结

面向对象

面向对象是一种开发编程思想,万物皆对象
1.面向过程与面向对象
面向过程 注重于过程 注意与步骤 注重于细节
面向对象 偷懒 注重于结果 注重解决问题的主动权,不关注与过程 ,注重于对象.

面向过程是面向对象的一个基础(前提) 面向对象与面向过程是相辅相成的 面向对象其实其实就是在面向过程上进行优化
2.面向对象的好处
1.面向对象思想符合人的思考方式
2.面向对象把复杂的问题变得简单化了
3.面向对象 是由执行权 变成指挥权
4.面对象 有利于项目的后期维护与升级
3. 类与对象的关系:
类就是属性与方法的集合,类是对象的抽象 对象是类的具体表现形式
4.实例化对象内存加载过程
1.在方法区中加载字节码[Class]文件
2.在主方法中创建栈内存的引用 后面用于来执向堆内存的地址
3.在堆内中开辟空间 给属性来进行赋值
4. 给堆内存中地址值 给栈内存中引用
5.匿名对象:
也就是没有名字的对象
只需要调用类的方法一次的时候可以使用,方法调用的时候 可以作为方法的实参 ,使用匿名对象作为方法的返回值类型
好处: 可以节省内存空间
6.成员变量与局部变量
成员变量 定义在类的作用域下方法外的变量 称为成员变量
局部变量 定义在方法内或者是作为方法的形参的变量 就是局部变量
区别:
1.位置不同
成员变量是定义在类的作用域下 方法的外面 局部变量是定义在方法里 或者是方法的形参
2.作用域不同
成员变量的作用域是整个类中都可以使用 局部变量是在方法内中才能使用
3.生命周期不同
成员变量是随着对象而加载随着对象的消失而消失 局部变量是随着方法加载而加载 随着方法的消失而消失
4.存的位置不同
成员变量是存在堆中 局部变量是存在栈中
5.默认值
成员变量是有默认值,引用数据类型默认值都是 null int 为0 ,double为0.0,boolean false, char ‘\u0000’
局部变量是没有默认值 局部变量必须先赋值才能使用
7.静态与成员
成员: 对象名.属性 对象名.方法名(参数列表)
静态: 类名.属性 类名.方法
静态 都存在方法区的静态空间中
一.静态变量的特点:
1.静态变量是优先于对象进行加载
2.静态变量是存在方法区的静态区间中
3.静态变量能够实现所以对象进行共享数据
4.静态变量赋值 取值
二.静态的注意事项
1.静态方法定义 只需要在方法的返回值前面加上static关键字
2.静态方法中是不能来访问非静态的变量 原因: 静态方法是优先于对象而存在 而对象的属性只有创建对象成功之后才能进行赋值操作,静态方法早已经加载到静态区间中 所以肯定不访问
3.静态的方法不能调用非静态的方法
4.静态方式不能来访问this
总计: 静态方法不能来访问非静态的资源
5.非静态方法是可以调用静态方法的
6.如果不是一定要使用静态的 就不需要使用静态 特别是索引 还是经常发生改变的数据尽量别使用静态的 在开发过程中一般工具类的使用就会使用静态
三.区别
1.存的位置不同
静态变量是存在方法区的静态区间中
成员变量是存在堆内存中
2.生命周期
成员变量的生命周期 是随着对象的加载而加载 随着对象的销毁而销毁
静态变量的生命周期 是随着类的加载而加载 随着类的销毁而销毁
3.调用方法不同
静态变量 可以 使用类名来直接调用 也可以使用对象名来进行调用
成员变量 只能是对象名来进行调用
8.封装
隐藏实物的内部细节 隐藏属性 提供公有的方法来便于访问
好处
隐藏内部的细节 外部只管使用
提高代码的安全性
提高代码的复用性
9.变量的就近原则与this
变量就近原则是:在访问变量时候 访问的是离它最近的变量 如果是方法方法变量 方法中定义的变量的优先级高于成员变量
this 表示当前对象的引用 谁调用 那这个this就是这个对象
10.构造方法
1.构造方法的方法名必须是类名(大小写都一样)
2.构造方法是没有返回值 使用void进行修饰都是不可以的
3.构造方法是可以使用return 只能够写 return;
4.构造方法不需要自身来调用 是由jvm来进行调用 是在实例化对象的时候进行调用
5.构造方法不可以通过对象名来进行调用
6.一个构造方法只能调用一次另一个构造方法
注意事项:
在类中如果没有编写任何的构造方法 系统是会生成一个无参数的构造方法
在类中如果编写任意的构造方法 系统就不会再生成默认的构造方法了
在一个类中 可以有无参构造 也可以有参构造
构造方法也是有重载 重载的规则与方法的重载的规则是一样
在同一类中 方法名相同 参数不同 与返回值无关
11.对创建的时候三种初始化赋值
显式初始化
默认初始化
构造初始化
顺序: 默认初始化 显式初始化 构造初始化

作业链接

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值