tags
date
type
status
slug
category
summary
password
icon
前言:实际上这应该是昨天也就是 2024/9/11 写的,但是没来得及发,所以就由今天发了
day3
p15马走日字
- 个人觉得有个问题应该先被优化,就是路径上是否有其他棋子,
- 找蹩脚点真的很牛逼
p16车
- 实际上应该包括目标点,起点可以不用包括原点,看路径上有没有棋子,没有返回0,有判断是不是在目标点(即吃子)返回2,否则返回1(即路径上非终点有棋子挡住了)
- 一定得注意局部变量的名字和属性的方法的问题
- up主这里的问题是将循环统一化,没有分开,也就是不区分起始点和目标点谁小,默认将小的点当作起始点,实际上这可能是终点
- 同时又引用start和end表示起点,终点,这个在循环当中就有问题
p17炮和吃子
- 得知道棋子的位置,再将它从数组中删除被吃掉的棋子
- 一开始不知道它的位置,得知道,这里使用索引解决每次的遍历搜索问题
- 空指针异常
18兵规则
- 能不能过河,看的是它的位置点,而不是目标点
- up主想的太复杂了,应该牺牲掉代码复用性,直接选择分两种情况,过河可以左右前进一格,没过河只能进去1格即可,没必要考虑能不能后退
- tp是目标 p 是当前
- 直接在兵的判断能不能走那里,使用两个if判断能不能
- 现在up主更新后的代码又好了
p21 棋盘规则的实现
- 红方不可以操作黑方棋子
- 轮流走棋
- 记住当前得到阵营
p22 Java方法总结
- 存在一个情况,并没有用到太多的面向对象中太多的知识点 ——
- 面向对象与面向过程
- 类和类的成员
- 类的定义格式
- 类与对象
- 引用
- 匿名对象
- 以图形为例
- 直线-Line
- 矩形-Rect
- 圆-Circle
- 使用swing绘制图形
- 类的成员
- 属性
- 实例方法
- 权限修饰符 返回值类型 方法名(形参列表){方法体}
- 调用:必须通过 实例.方法(有参传参 )
- 返回值类型
- void 方法不需要强制写return语句
- 数据类型 —— 必须有关系的值或对象,可能是基本数据类型,保持一致,如果是引用数据类型,可以返回的是子类对象或相同类型的值
- 类方法
- 权限修饰符 static 返回值类型 方法名(形参列表){方法体}
- 调用:通过 实例.方法(有参传参 ) 或 类名.方法名(实参)
- 构造方法
- 权限修饰符 返回值类型 方法名(形参列表){方法体}
- 方法体内一定是默认第一行super(实参);//调用父类中的构造方法
- 作用:当构造对象的时候,必须要做的事情,可以写在构造方法中
- 每个类都有一个无参的构造方法,如果显式定义了一个有参的构造方法,则不再默认的构造方法,需要显示的定义
- 方法
- 定义
- 实例方法
- 类方法
- 形参
- 调用
- 实例方法
- 类方法
- 实参
- 重载
- 方法名称相同,形参列表列表不同
- 与返回值类型无关
- 与形参名无关,但是和顺序有关
- 可变参数
- 传参
- 值传递
- 地址传递
- 构造方法
- 重写
- 构造方法
- 作用
- 重载
- this
- 代码块
- 普通代码块
- 静态代码块
- 内部类
- 实例内部类
- 静态内部类
- 三大特征
- 封装
- get set方法
- toString方法
- 继承
- 权限修饰符
- 继承方式
- super
- 属性
- 方法
- 方法的重写
- 子类对象的创建过程
- 类型转换
- 转换异常
- 多态 —— 一个子类对象有多种形态,可以是父类对象形态,也可以是子类本身对象形态
- 格式:父类 实例名 = new 子类构造方法(参数列表)
- 条件
- 继承
- 实现
- 理解
- 使用
- 对象的比较
- ==操作符
- equals方法
- equalslgnore方法
- 抽象 —— 一个不具体的类(大杂烩hhh)
- 关键字: abstract
- 作用:修饰类(抽象)、方法(抽象)
- 用来设计一个没有具体功能的类
- 注意:
- 不可以被实例化(类名 实例名 = new 构造方法()
- 抽象类可以有构造方法,其构造方法主要是被子类来使用的
- 抽象类可以有抽象方法、也可以有实例方法和静态方法
- 抽象方法和抽象类,不可以被 static final private等关键字修饰
- 抽象类方法的格式: 权限修饰符 abstract 返回值类型 方法名(形参列表);
- 一般使用public
- 方便多人开发合作,一般抽象类由组长定义,具体的功能由子类来实现
- 团队主管主导项目
- 抽象方法,必须通过子类重写来使用
- 抽象方法只存在于抽象类和接口中
- 类
- 方法
- 构造方法的作用
- 相关冲突的关键字
- 接口
- 关键字 && 特性
- interface 关键字定义,其他的与类没有太大差异
- 接口中只能存 public abstract 修饰方法
- 所以接口比抽象类更抽象
- 继承只能单一继承,但是抽象可以多实现
- 接口中只能有常量,不能有其他属性
- 在JDK开始,其接口支持使用default实现,
- 实现
- default修饰符
- 匿名内部类对象
- final关键字
- 类
- 属性
- 方法
匿名对象只能被使用一次
p23 使用抽象类改版程序
- 抽象类了,不能被初始化了
- 虽然创建对象变麻烦了,但是为了多元同时合作
- 解耦合,解决上面的问题,使用多态和开发模式降耦合度
- 作者:瑾墨
- 链接:https://www.gaoqilan.tech/Code/1e47fe85-c706-442f-aba2-88e5b70aaab1
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。