继承:1:实现了代码的复用 2:使类与类之间产生了父子关系
java继承的特点:
1:java继承和OC是单继承 (多继承的问题父类里的方法有可能一样,之类调用时没办法确定调用哪个方法,即调用方法的不确定性)
2:可以多层继承
继承的使用:
当事物之间存在所属关系,是同类的类,如人不能继承动物
extends是java类继承关键字
class Super{
child1和child2共有的成员变量和函数
}
class Child1 extends Super{
}
class Child2 extends Super{
}
super:不是引用,当子父类出现同名的成员变量时,用于区分子父类中的成员变量
继承中成员变量的特性:
1父类中的成员变量用private修饰时,子类没办法直接访问可以在父类中提供setter和getter进行读取;
2:当子父类出现同名的成员变量时,可用super关键字用于区分子父类中的成员变量
继承中的成员函数的特性:
重写:子类在继承父类时,含有和父类中的一样的函数,当创建子类对象时,执行的是重写之后的方法 可以在子类方法中用super.类名(参数)调用父类中的方法(重写的好处:覆盖父类中的方法,沿袭了父类的功能,改变了具体的方式super.类名(参数)),
注意(1子类再重写时,权限要大于等于父类中的方法的权限;2父类中私有的方法不能被子类重写;3:静态只能覆盖静态;4:当父类中的方法的返回值是引用类型时,子类在重写时返回值类型可以是父类中方法中的方法的返回值类型,也可以是其子类类型)
继承中的构造函数的特性:
特点:在创建子类对象时,先调用父类的构造函数方法,再调用子类的构造函数方法,因为系统自动在子类的构造函数的第一行加入了super()
注意:如果父类中没有无参的构造函数时,必须在子类的第一行手动加入super语句,,调用父类的某个构造函数