ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

java学习-2

java学习-2

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

银卡也是一样的

进行消费(因为金卡和银卡都有自己的消费方法)

但是钱不够的时候,需要进行判断,银卡也一样

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进