您的位置:首页 > 编程语言 > Java开发

Java继承中子类与父类的关系

2017-06-15 17:22 204 查看
初学Java,在继承章节的学习中遇到一些小问题,总结如下:

在生活中,我们经常会在前人已完成项目的基础上进行一些改动形成新的方案,在写代码中也是如此。如果我们希望在一个类的基础上进行升级和修改创建新的类,就会用到继承。其中父类是Superclass,子类是Subclass。

通过继承,子类可以得到父类除构造函数以外所有的成员(包括成员变量和成员函数),但是要注意得到并不等于可以随便使用。子类能否使用(访问)父类的成员由父类成员的属性决定,在此不详细展开。下面着重讲子类构造方法和父类构造方法的关系:

首先,我们知道在创建一个类的对象时,会自动调用这个类的构造函数。对于子类对象来说,在调用自身类的构造函数之前会先调用父类的构造函数。第一种情况:若子类构造函数向父类构造函数传递参数(通过super()在构造函数第一行实现),那么会自动调用父类有对应参数的构造函数;第二种情况:子类构造函数没有参数传递给父类构造函数,这种情况下系统会隐式调用父类无参数的构造函数,倘若父类没有任何构造函数,编译正常;若父类有带参数的构造函数而没有无参数的构造函数,编译时会发生错误。

对刚才的调用情况小结一下:无论如何,子类构造函数都会先调用父类构造函数,如果要传参数,通过super()实现;如果不传参数,那父类要么有一个无参数的构造函数,要么一个构造函数都没有,不然就会编译出错,通俗一点说就是我可以接受你啥也没有,但是不能有其他的但是没我要的==
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: