01.01静态代码块
- A:特点
- 当第一次执行本类时,静态代码块执行唯一的一次
- 静态内容总是优先于非静态,所以静态代码块总比构造方法先执行。
- B:典型用途
- 用来一次性地对静态成员变量赋值
class A {
static{
System.out.println(“静态代码块”);
}
}
- 用来一次性地对静态成员变量赋值
01.02Arrays
- A:与数组相关的工具类,里面提供大量的静态方法,用来实现数组常见的做作
- public static String toString(数组):将参数数组变成字符串
- public static void sort(数组):按照默认升序(从小到大)对数组进行排序
- 备注:如果是数值:sort按照从小到大
如果是字母:sort按照字符升序
如果是自定义的类型,那么这个自定义的类需要有Comparable或者Comparator接口的支持
01.03 Maths类
- A:abs()获取绝对值
ceil()向下取整
floor()向上取整
round()四舍五入
Math.PI:圆周率
01.04继承
-
A:面向对象的三大特征:封装、继承、多态
- 继承:主要解决的问题是:共性抽取
- 子类可以拥有父类的内容
- 子类还可以拥有自己的专有内容
- 继承:主要解决的问题是:共性抽取
-
B:继承的格式
在继承的关系中:子类就是一个父类,也就是说子类可以被父类看待
例如:父类是员工,子类是讲师。那么讲师就是一个员工
定义父类的格式
public class FU{
}
子类的定义:
public class Zi extends Fu{}
-
B:继承规则
在父子类的继承关系中,如果成员变量重名,则创建子类对象中,有两种访问方式- 直接通过子类对象访问成员变量:L
等号左边是谁,就优先用谁,否则向上找。 - 间接通过成员方法访问成员变量
该方法属于谁,就优先用谁,没有则向上找 - 当父子类中的方法名一样时,访问规则
创建对象是谁,就优先用谁,没有则向上找 - 注意事项:
无论成员变量还是成员方法,如果没有都是向上找父类,不能向下找子类
- 直接通过子类对象访问成员变量:L
-
C:方法的重写(override)
重写(override):方法的名称一样,参数也一样 存在继承的关系
重载(overload):方法的名称一样,参数不一样
关键字:super.show();
将父类的方法拿过来直接用,重复利用。然后添加新的方法
- D: Super关键字的用法
- E: This关键字的用法
- E: This关键字的用法
01.05抽象类
- 抽象方法:就是加上abstract关键字,然后去掉大括号,直接用分号结束
- 抽象类:抽象方法所在的类,必须是抽象类才行,在class之前加上absreact即可
- 如何使用抽象类和抽象方法
- 不能直接创建new抽象对象
- 必须用一个子类来继承抽象父类
- 子类必须覆盖重写抽象父类当中所有的抽象方法
覆盖重写,子类去掉抽闲方法中的abstract关键字,然后补上方法大括号 - 创建子类对象进行使用
父类
子类
测试类
- D: Super关键字的用法