Java从小白到入门,Day7,JAVAOO-继承
继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。
使用继承,可以重复使用代码,大大缩短开发周期,降低开发费用。
继承的特征:1,传递性,父类资源总是可以在子类和子孙类中使用。
2,单根类,一个子类只有一个父类。
所有类最终都继承与object,object是所有类的根类。
在继承中,如果父类拥有有参构造函数,子类必须写构造函数,去调用父类的构造函数。在创造一个类的对象是,会先调用父类的构造函数,再调用子类自身的构造函数。
extends关键字:继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承。
判断类是否与其他类有继承关系,可以使用"is a"原则进行判断。
在同一条继承链上,可以使用向上转换和向下转换。
super关键字:指代父类的资源。子类使用父类资源,在构造函数中,写在起始位置。
重写(override):在子类中使用完全相同的方法签名来覆盖父类的方法。
重载(overload):同一个类中,同名的方法名,不同的形参。
子类继承父类时,子类将直接拥有父类的所用公共资源(包括属性,方法)和受保护的资源(protected修饰),但是不继承父类的构造函数。
内存叠加机制:当new一个子类时,首先会调用父类的构造方法,产生一个父类对象,然后再调用子类的构造方法,叠加在父类内存的下面。
有抽象方法的类一定不能产生对象了。因为对象是具体的实际的存在,不能有未知的行为,所有这个类一定是抽象类。语法上,允许抽象类没有抽象方法,但这么做失去了抽象的意义。
访问修饰符: