一、java也允许方法重载,但是不能在参数中使用默认值。
二、在java中,一切类除了Object类,都有父类,一个类默认继承自Object。同时java只允许单继承。Object中定义了几个方法,equals() hashCode() toString()
三、protected字段,使用父类的private对象可以在子类直接使用。
四、java 类中,类构造函数第一句必须是调用父类的构造方法,如果程序员未写,则编译器会自动加上super();来调用,此时,若父类没有无参构造函数,则会报错。可以用super(int,age)显式调用父类的构造函数。super也可用于调用父类的其他成员方法或成员变量
五、java14新语法 instance of Type name.如果调用对象是Type的一个实例或者子类,可以被转型,则将直接转换成Type类型,名为name.
六、多态,子类中定义了父类同名方法,则子类的方法将会被覆盖,加上@override值,表明希望该方法是覆写的,编译器会检查是否签名错误。将基类引用指向子类对象,最终调用的是运行时类型的相应方法。必要时可以覆写Object的方法。
七、final,修饰类时,类无法被继承,修饰类方法时,该类方法无法被子类覆写,修饰变量时,该变量值无法改变。
八,abstrcat,修饰一个类,使该类成为抽象类,同时也要修饰成员方法。定义一种接口,抽象类无法实例化。子类必须实现接口,抽象类允许有字段,也可以定义非抽象方法。
九、面向对象的本质是 上层代码定义规范 无需子类就能实现业务逻辑 具体的业务逻辑交由子类实现
十、interface,定义一个接口类,修饰一个类,本质是一个没有字段的抽象类。接口的成员方法默认都是public abstrcat的,可以省略。如interface Person(); interface 可以用default 修饰一个方法并实现它,实现类不用覆写它(实现类可直接调用),也可以覆写它(调用覆写过的方法)。如果是非default方法,实现类必须实现它,接口类中不能实现。interface可以有静态字段,且该静态字段默认是final的,可以省略。
十一、implements关键字,如果一个具体类实现某接口,用Implements修饰,如 class Student implements Person{},一个类不能继承自多个类,却可以实现多个接口。接口也可以继承,实质相当于扩展了接口。