目录
前言
考研失败,面临着找工作,只好重新复习下java基础,并加强学习。
IDEA(mac)快捷键
快捷键 | 说明 |
---|---|
command + delete | 删除当前行 |
command + D | 复制当前行 |
shift + option + ← | 选中光标位置到单词头 |
shift + option + → | 选中光标位置到单词尾 |
control + / | 添加/删除注释 |
option + 回车 | 导包 |
conmmand + option + L | 格式化代码 |
control + R | 运行程序 |
control + D | debug |
fn + F8 | 逐行执行 |
fn + F7 | 进入代码 |
command + N | 构造器 |
23/01/03(包、访问修饰符、封装、继承)
包
包的本质 实际上就是创建不同的文件夹来保存类
命名规范 com.公司名.项目名.业务模块
访问修饰符
同类 | 同包 | 子类 | 不同包 | |
public | ✅ | ✅ | ✅ | ✅ |
protected | ✅ | ✅ | ✅ | |
默认 | ✅ | ✅ | ||
private | ✅ |
封装
1.属性私有化
2.提供公共的get/set方法
继承
解决代码复用性,当多个类存在共同的属性和方法,可以从这些类中抽象出父类,在父类中定义这些相同的属性和方法,因此所有的子类不需要重新定义这些属性和方法。(子类自动拥有父类定义的属性和方法)
基本语法 class 子类 extends 父类
detail
1.子类必须调用父类的构造器(super();),完成父类的初始化。
2.创建子类对象时,默认总会调用父类无参构造器,如果父类没有无参构造器,则必须用super指定使用父类的哪个构造器完成初始化。
23/01/04(多态、equals方法、房屋出租系统)
多态
方法的多态
1.重载(形参不同)
2.重写(覆盖)修饰符 返回值类型 方法名(参数列表)要完全一致。
对象的多态(前提是两个 类/对象 有继承关系)
1.对象编译类型和运行类型可以不一致。
2.编译类型在定义时就确定了,不能改变。(编译类型可以指向其子类的运行类型)
3.运行类型可以变化。
4.编译类型看定义时=号左边,运行类型看=号右边。
向上转型
父类引用指向子类的对象
可以调用父类的所有成员,不能调用子类的特有成员,最终运行效果看子类如何实现。
向下转型(把父类引用强转成子类类型)
子类类型 引用名 = (子类类型)父类引用
属性没有重写(直接看编译类型,此处和方法不同)
动态绑定
方法看运行类型,属性哪里调用就用哪里
equals方法
只能判断引用类型,默认判断地址是否相等,子类往往重写该方法,用于判断内容是否相等。