1 方法
去掉重复的
遍历数组
九九乘法表
方法的诀窍
方法的重载和总结
2 Java的原理篇
java内存分配的规则
main在方法区只是临时的存储 在使用的时候会调用到栈内存里面
所以不影响实参 还是10和20
数组的内存分配
int[ ]arr=new int [ ] {1,2,3}; 所以也有堆内存
因为数组传递的是地址 所以可以进行修改
3 算法训练
删除数据
输出val
红包问题
中位数
多数据统计
接雨水
先进行从左边看的时候雨水留下的 然后再从右边看剩下的 然后进行结合取最小值
最后去掉柱子的数量
大乐透
创建随机的彩票号码
选择买的号码
进行打印
判断中奖的数量
进行判断中奖的等级
4 二维数组
综合案例
因为调用的是int[ ] [ ] 为二维数组 所以传入的是int[ ] [ ] arry
5.面向对象
或者
对象到底是什么
1 构造器
构造器也可以进行重载
无参构造器是进行t1.name和t1.age
2 this关键字
this指的是对象 所以当s3.name=777 所以对象为777 this.name指的是这个的对象
3 封装
类就是封装 把数据和对数据的处理方法进行封装到了一起 可以直接进行调用
外面不可以进行赋值
4 javabean-特殊类-实体类
5 static关键字
6.static的修饰方法
同一个类里面可以直接访问 因为在同一个类里面 所以可以省略
string[ ] args其实没什么作用
7.静态方法的应用
因为不同的文件都需要使用 所以可以把这个一样的变成工具类
8 static的注意事项
静态和实例的区别
9.综合实例
先设置电影类
6.继承
1.继承是什么
2.权限修饰符
其他包
其他包的子类
3.继承后的特点
.hashCode是object的功能
4.方法的重写
1
2
3私有方法不能继承 所以不能重写 静态属于父类自己调用 所以也不能重写
5.重写的应用
6.子类构造器的特点
私有的父类不可以进行调用
问题:
发现如果单纯的进行创建子类的数据 会没有创建成功 输出的是空的
是因为people的name和sex是在父类里面 需要把name和sex的实例送到父类里面
技能在子类 所以需要在子类里面使用this进行确认
而name和sex
把数据通过父类送过去 说明子类可以把子类继承自父类的这部分数据也完成初始化赋值
但是除了这个之外,可以通过使用set方法进行创建数据,这样就不用进行以上的方法了
7.this(...)调用兄弟构造器
默认黑马程序员
使用this调用兄弟构造器
this必须在第一行 因为需要使用兄弟构造器 super也是必须在第一行 需要先调用父类构造器
7.多态
1.认识多态
对象多态:比如一个人既可以是老师也可以是学生
行为多态:比如在课上听课的时候有的人在打游戏有的人在听课
小范围的狼可以给到动物类型的 因为狼继承的动物
编译的时候看动物里面有没有run 但是运行的时候运行的是狼的run 如果动物里面没有run会直接进行报错
但是使用成员变量的时候是输出的动物
2.多态的好处
解耦合指的是当老师不好用的时候 可以立马的换成学生 用来提高扩展和维护
这样的话就只能接入一个
而这样就可以了 因为编译的时候看animal 但是真正输出的时候使用的传入的对象
问题:多态下不能调用子类的独有功能
3.多态下的类型转换问题
强制的把动物类型的转换为乌龟类型
进行强制的类型转换 可以解决不能调用子类的独特功能这个毛病
4.综合案例-支付模块
创建card
lombok技术
9是无参构造器 10是有参构造器
创建金卡
可以使用this将money进行调用
或者使用setMoney进行刷新
创建银卡
创建支付机
除了创建卡片 还需要在金卡里面进行写入构造器 因为要调用爸爸的构造器 所以需要使用super
银卡也是一样的
进行消费(因为金卡和银卡都有自己的消费方法)
但是钱不够的时候,需要进行判断,银卡也一样