java8

************************************面对对象*****************************************

1、图书管理系统
技能点:构造方法,方法重载,封装
1、所有图书显示
2、按条件查找图书
3、修改图书信息
4、删除图书信息(不真删除)
   声明一个数组(逻辑删除)

思路分析:
1、类:
Book        图书
BookManager 图书管理员
Test        main  程序的入口
2、类的属性:
Book:id序号  name书名  price单价  publish出版社   ISBN条形码
BookManager无需属性
Test也无需属性

3、类的方法:

Book无方法

BookManager:
addBook    添加图书
queryAllBook 查询所有图书
queryBookByName 通过书名查找图书
updateBook  修改图书
deleteBook  删除图书

Test:
main方法
main(){

声明存放图书的数组
输出菜单功能

}

常规做法:
1)属性是private形式
2)封装成get  set方法

类 对象=new 类();

把对象理解成普通变量
但是普通对象里存放的是具体的值

对象存的是new出的内存地址,通过地址来找具体内容
引用类型的数组里数组元素存的是对象的地址

把要删除的元素(地址)首先复制到另一个数组中,在数组中设置为null
1.在main方法中设置一个Book类型的数组,存放已经删除的图书的数组

【重要】
方法的参数是基本类型和方法参数是引用类型的区别?

引用类型无数个
例如:String Scanner Random
      数组  自己创建的类
见代码:Demo.java
 DemoTest.java

方法的参数如果是基本类型,是复制了实参的值传入形参中,形参的改变不影响实参。

方法的参数如果是引用类型,是复制了实参的地址传入形参中,形参和实参是一个地址,
既然是同一个地址,所以方法内部形参改变值,方法外部实参的值也跟着改变。

技能点:

对象到底是什么?
对象就是一个内存地址,通过这个地址里存放了对象所属的类成员。

对象数组 数组里存放的是什么?
存放的是new出的对象的地址

方法参数是基本类型和引用类型,区别是什么?

类里有两类成员:

1.属性也就是成员变量,是有默认值的

属性的生命周期:也就是成员变的生命周期取决于所属的对象
只要对象在,那么成员变量就在,对象消失,成员变量就消失

属性的默认值如下:
int    0
String null
char   空格
float  0.0
boolean false
【注意】局部变量没有默认值
局部变量:声明在方法的内部,或方法中的语句块内部的变量
生命周期:调用方法时,开始出现,方法调用后就消失

【说明】局部变量必须先声明赋值,然后使用

局部变量的情况:
声明变量如果没有赋值,那么这个局部变量的内存空间实际并不存在
只有给局部变量赋值了,那么内存空间才真正分配,才允许使用

variable变量
local局部的
initialized初始化  赋值


总结:
成员变量比局部变量在内存中存在的时间更长

使用原则:
1.优先使用局部变量,其次是成员变量
2.成员变量在类中的各个方法都可以直接使用,范围比局部变量更大


作业:
商品管理系统
必做功能如下:
1、新增商品  (单价属性)
2、修改商品
3、删除(把删除的存在另外一个数组中)
4、查看所有商品
5、查看已删除商品
6、按条件查询功能(按价格的范围查询显示,例如查询30~100之间的商品)

 

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值