目录
继承给编程带来的便利
细节1
案例演示
细节2
案例演示
细节3
案例演示
细节4
案例演示
细节5
细节6
细节7
案例演示
细节8
细节9
细节10
继承给编程带来的便利
提高了代码的复用性,代码的扩展性与维护性。
细节1
子类继承了所有的属性和方法,但是私有属性不能在子类直接访问,要通过公共的方法去访问
案例演示
子类不可访问父类的私有权限。
父类提供一个public的方法。
要访问一个父类的私有成员,可以调用父类的公有函数
call有调用的意思
细节2
子类必须调用父类的构造器,完成父类的初始化
创建一个子类时,会先自动调用父类的构造器
default constructor是默认构造器的意思
案例演示
父类的无参构造器
子类的构造器。
运行时,会先调用父类的构造器再调用子类的构造器。
这里没有写super()实际上运行时会自动使用super来调用父类的无参构造器。
细节3
默认会去调用父类的无参构造器,如果父类没有提供,就必须在子类的构造器中使用super去指定。
案例演示
这里写了一个有参构造器后,默认的无参构造器就没有了。
所以这里的构造器里面必须使用super去指定父类的构造器。
细节4
案例演示
默认调用无参构造器。
使用super调用有参构造器。
细节5
使用super时,必须放在构造器的第一行,不然会报错。
一定是先要执行父类的构造器再来执行子类的构造器。
而且super只能在构造器里使用。
细节6
这里想要通过this去访问子类的构造器,是错误的。
super和this这两个里只能选择一个。
细节7
案例演示
输入ctrl+h查看类的继承关系。
细节8
细节9
c++里一个类可以同时继承多个类,但是java是单继承机制,一个类只能继承一个类。
想要让a同时继承b和c,可以让b继承c,然后a继承b。