javaSE继承 1.概念是对共性的抽取有助于提高代码的复用性。2.语法:修饰符 class 子类 extends 父类3.子类会把父类的成员变量和方法都继承下来同时子类中必须添加自己特有的属性。4.访问父类成员在子类里访问):1)当父类与子类成员没有同名:this.父类成员2)当父类与子类有同名时:super.父类成员此时若仍然用this.→则访问子类成员总结:遵循就近原则在子类中访问子类成员或父类成员若子类中有→则优先访问子类中的成员若子类中没有→去父类中找3)访问父类中静态成员:父类类名.成员不能用通过super访问)5.super关键字1)作用在子类内部访问父类成员2)只能在子类中使用super3)super.成员变量→访问父类成员变量super.成员方法→访问父类成员方法super→访问父类构造方法4)在静态方法中不能使用this/super5)super与this的区别:super)指代的是父类中的数据this)指的是当前对象中的成员6.子类构造方法:1)在调用子类构造方法前要先去调用父类的构造方法2)如何在子类构造方法中调用父类构造方法在子类构造方法中的第一行super/super参数→括号里有无参数看父类构造方法的列表参数3)要知道在子类构造方法里第一行java会自动默认提供super若父类里没有写任何构造方法→则在父类里会自动提供没带参数的父类构造方法→此时子类构造方法中第一行默认提供的super就可以调用。若父类里只写了一个无参的构造方法→super也可以正常调用若父类里写了有带参数的构造方法→java此时不会提供没带参数构造方法了。此时子类中的super就不能正常调用了因为括号里没有参数父类中没有对应的没带参数的构造方法)需要重新写过super带参数7.执行顺序:最先执行父类的静态然后是子类的静态。接着按照父类的实例代码块父类的构造方法子类的实例代码块子类的构造方法8.protected关键字1)可以用于同一个类同一个包中不同的类不同包中的子类2)最重要的是不同包中的子类①不同包中的子类意思是父类与子类不在同一包中。②访问父类中被保护的变量:在子类中先实例化当前子类对象然后通过子类引用.父类被保护的变量)访问9.继承方式:有单继承多层继承不同类继承同一个类不支持多继承就是一个儿子有多个爸的意思肯定是不允许的10.final关键字被final修饰的变量就是一个常量常量名字要大写此时要记住常量必须初始化→因此被final修饰的变量也必须初始化初始化之后就不可以修改值1)当final修饰成员变量必须初始化eg:final int a52)当final修饰成员方法则这个成员方法不能被重写3)当final修饰一个类则这个类不能被继承平时见到的String方法就是用final修饰11.继承和组合1.概念继承:extends相当于is是举个例子public class Dog extends Animal→狗是动物组合:将一个类的类名和实例当做另一个类的成员变量。是a part of一部分)的意思。eg: 车有车胎发动机…class Tire{}class Engine{}→class Car{private Tire tire;private Engine engine;}这里又有一个知识点:当父类中的成员被private修饰时子类中虽然仍会继承父类的成员但是子类无权访问。