继承:A类继承了B类,A类中就会拥有B类的所有的非私有属性和方法。提高了代码的重用性
隐式继承:
- 所有的类全部都是继承了java中Object超类。
- 所有的类都是Object的一个子类,Object是所有类的父类。
显示继承:
-
继承的语法:
class + 子类名 + extends +父类名{ }
java中的继承是单继承模式(一个子类只能直接继承一个父类) -
子类,继承父类中所有的非私有的属性和方法
-
构造方法不能被继承(但是在创建子类对象时,首先先执行父类的构造方法)
-
方法的重写Override 必须出现在继承关系中的子类中,将继承自父类的方法,重新定义,直接写在子类中。这种方法就叫做方法的重写.重写的目的就是补充或者扩展继承自父类的方法。
-
重写的语法: 子类重写方法的返回值,方法名称,参数类型,参数个数以及参数顺序必须一致,访问修饰符可以不一致,子类的访问修饰符必须大于等于父类的访问修饰符(jdk1.7之后)。
-
重写和重载:
- 重写在子类中重新定义继承自父类的方法
- 重载是在同一个类中方法名称相同参数列表不同的多个方法
子类也可以拥有自己独有的方法和属性。
关键字 final 修饰符
可以修饰三种内容.
- 修饰属性:
由final修饰的变量就会成为一个常量(在定义时必须初始化,习惯上名称大写) - 修饰方法
由final修饰的方法,不能被子类重写(可以被继承)。 - 修饰类
由final修饰的类,不能被继承(不能有子类)。
super关键字
只能出现在继承关系中的子类中,表示当前子类的父类的一个对象。
方法中super关键字不能省略。
- 1.调用属性:直接通过关键字调用, super.父类属性
- 2.调用方法:直接通过关键字调用, super.父类方法
- 3.调用构造方法:只能出现在子类的构造方法的第一条语句中,必须调用。(如果没有自己定义,jvm默认调用父类的无参构造,如果父类没有无参构造,必须手动调用父类的有参构造,不然会报错.)