1,继承(extends)
继承者被称为子类,被继承者被称为父类
2,继承的特点
- 继承之后,子类就会自动拥有父类中的所有非私有的属性和方法(不包含构造方法)
- 类只能单一继承(一个类只能继承一个类)
- 继承具有传递性(爷类,父类,子类)
3,为什么要有继承(为什么要有父类) - 父类就是为所有的子类提供公共的属性和方法
- 父类可以为所有的子类提供共同的数据类型
- 当需要创建多个类,有相同的属性和方法时使用
4,this:指代当前对象(谁调用的指的就是谁) - 调用的成员变量
- 实例方法
- 构造方法 this()/this(参数)====》出现在代码的第一行
super:指代父类
- 1.调用父类的成员变量
- 2.调用父类的实例方法
- 3.调用父类的构造方法 super()/super(参数)====》出现在代码的第一行
注意:super()只能调用父类的,不能调用祖先的
5,重点
子类的每一个构造方法中,都有一个默认的super()在调用父类的无参构造(删掉了super也会调用父类的无参,除非添加this来调用自己的构造器)
类中如果手动添加了有参构造,则系统不会提供默认的无参构造
6,重写(override)
在子父类中,方法名称相同,参数列表相同,方法体不同的两个方法
必须遵循两同两小一大原则:
方法名相同
参数列表相同
方法的返回值类型要比父类的小或相同(此点只针对引用类型,如果是基本类型就必须一样)
抛出异常要比父类的小或相同
访问权限要比父类的大或相同
7,多态(编译看左边,运行看右边==>能点出来什么看类型,最后执行什么看对象)
向上造型:父类的引用指向子类的对象
作用: