一、构造方法
- 任何class都有构造方法。
- 作用:用以初始化实例
- 若一个类没有定义构造方法,则编译器会自动生成一个默认的无参构造方法。若已定义一个有参数的构造方法,则系统不会再自动生成无参构造方法
二、方法重载(Overload)
- 定义:方法名相同,但是参数不同(与返回值无关,通常返回值类型都是相同的)
三、继承
- 除object之外,任何类都有且只有一个父类
- 子类中使用super表示父类
- 子类的构造器,第一行都是调用父类的构造方法。若没有明显的调用,则默认调用 super()即父类无参构造方法
- 子类可以安全的转型为父类。父类转型为子类时,可以先使用instanceof进行类型的判断
四、多态
- 覆写(重载)Override:子类中如果定义了一个与父类方法签名完全相同的方法
- 定义:Java具体方法的调用是由运行时真正的实际类型决定的,而非变量的声明类型
- 子类覆写方法中,可以使用super调用父类方法
- 由final修饰的方法,不可以被子类覆写。修饰的类不可以被继承。修饰的字段的值不可以被修改,但是可以在构造方法中赋值,两者只能取其一,即初始化赋值,便不可构造方法中赋值,反之亦然。
五、抽象类
- 关键字:abstract
- 由abstract修饰的方法称为抽象方法,没有具体的实现。修饰的类为抽象类,不可被实例化
- 拥有抽象方法的类必为抽象类。抽象类的子类必须实现抽象抽方法
- 面向抽象编程的本质:上层代码只定义规范;不需要子类就可以实现逻辑;具体的业务由不同的子类去实现,调用者并不关心
六、接口
- 本质:定义接口规范
- 关键字:interface
- 接口方法默认是public abstract
- 一个类别只能继承一个父类,但是可以实现多个接口,使用implements
-
抽象类 接口 继承 extends一个父类 implements多个接口 字段 可以 不可 抽象方法 可以 可以 非抽象方法 可以 可以定义default方法 - 接口之间的继承使用extends
- default方法:由default关键字修饰,具有具体实现,子类中可以不必覆写
七、静态字段与静态方法
1. 关键字:static
2. 一个类中所有实例共享类中的静态字段与静态方法
3. 静态方法内无法访问this变量,也无法访问实例字段
4. 接口方法内可以定义public static final类型的字段,其中public static final可以省略掉
八、包
1. 机制:避免class命名的冲突
2. import static导入一个类的静态字段和静态方法
九、作用域
1. 一个.java文件中,只能包含一个public类,可以包含多个非public类
十、模块**********************重点