23.面向对象高级知识点
<1>.面向对象的优点在于代码的复用,继承是实现代码复用的重要手段。
<2>.java的继承采用单继承机制,即每个子类只能继承一个父类。
<3>.子类可以继承父类中访问权限为public,protected和default的成员变量和方法。
<4>.父类不能访问子类新增的成员变量和方法,子类可以屏蔽父类的成员变量和重写父类的方法来更改自己的状态和功能。
<5>.子类不继承父类的构造器。
<6>.子类构造器默认会调用父类中无参的构造器。
<7>.调用本类构造器用this(),必须位于第一行。
<8>.在同一构造器中,super()和this()不能同时出现。
24.方法覆盖原则:
<1>.在父子类继承时发生。
<2>.方法名称相同。
<3>.返回值类型相同。
<4>.方法参数数量,类型,顺序相同。
<5>.权限修饰符要求:子类不小于父类的。
<6>.异常要求:子类方法只能抛出父类方法异常或其异常的子类。
25.this与super比较
<1>.构造器与普通方法里都可以有this和super(排除静态方法)。
<2>.this是用来调用当前对象的属性或方法,super是用来调用父类对象的属性或方法。
<3>.当子类方法覆盖父类方法时再调用父类被覆盖的方法必须用super不能用this。
26.抽象类与接口
<1>.抽象类可以包含抽象的方法,也可以没有抽象方法,包含抽象方法的类必须是抽象类。
<2>.抽象类不能被实例化。
<3>.抽象方法只有方法声明,没有方法实现。
<4>.抽象类必须被继承,子类如果不是抽象类,必须实现父类中所有的抽象方法。
<5>.抽象类不能被实例化。
<6>.接口没有构造器,里面只能包含常量和抽象方法。
<7>.接口中的方法修饰符是public abstract,两个修饰符可以省略,但修饰符仍是public abstract.
<8>.接口中的常量只能用public abstract final修饰,可以省略,但修饰符仍是public abstract final.
<9>.接口继承接口用extends后面可以同时继承多个接口,用“,”分割,
<10>.类实现接口时,如果接口中包含抽象方法,则该类必须为抽象类或在类中覆盖抽象方法。
23.面向对象高级知识点
<1>.面向对象的优点在于代码的复用,继承是实现代码复用的重要手段。
<2>.java的继承采用单继承机制,即每个子类只能继承一个父类。
<3>.子类可以继承父类中访问权限为public,protected和default的成员变量和方法。
<4>.父类不能访问子类新增的成员变量和方法,子类可以屏蔽父类的成员变量和重写父类的方法来更改自己的状态和功能。
<5>.子类不继承父类的构造器。
<6>.子类构造器默认会调用父类中无参的构造器。
<7>.调用本类构造器用this(),必须位于第一行。
<8>.在同一构造器中,super()和this()不能同时出现。
24.方法覆盖原则:
<1>.在父子类继承时发生。
<2>.方法名称相同。
<3>.返回值类型相同。
<4>.方法参数数量,类型,顺序相同。
<5>.权限修饰符要求:子类不小于父类的。
<6>.异常要求:子类方法只能抛出父类方法异常或其异常的子类。
25.this与super比较
<1>.构造器与普通方法里都可以有this和super(排除静态方法)。
<2>.this是用来调用当前对象的属性或方法,super是用来调用父类对象的属性或方法。
<3>.当子类方法覆盖父类方法时再调用父类被覆盖的方法必须用super不能用this。
26.抽象类与接口
<1>.抽象类可以包含抽象的方法,也可以没有抽象方法,包含抽象方法的类必须是抽象类。
<2>.抽象类不能被实例化。
<3>.抽象方法只有方法声明,没有方法实现。
<4>.抽象类必须被继承,子类如果不是抽象类,必须实现父类中所有的抽象方法。
<5>.抽象类不能被实例化。
<6>.接口没有构造器,里面只能包含常量和抽象方法。
<7>.接口中的方法修饰符是public abstract,两个修饰符可以省略,但修饰符仍是public abstract.
<8>.接口中的常量只能用public abstract final修饰,可以省略,但修饰符仍是public abstract final.
<9>.接口继承接口用extends后面可以同时继承多个接口,用“,”分割,
<10>.类实现接口时,如果接口中包含抽象方法,则该类必须为抽象类或在类中覆盖抽象方法。