
“想要继承我的财宝吗?想要的话拿去吧!你们去找吧!我把所有的财宝都放在那里!”
继承是实现软件的可重用的一种手段。
我们可以在定义类的时候在类名后面加 [extends 父类名] 来指定当前定义类的父类。
这样我们当前定义的类,可以继承使用其父类的成员域和成员方法。
通俗点来说,假如我有一个黄瓜,小明继承我 当我的子类,于是小明就有了一个和我的一样的黄瓜,小明也可以有自己的水果-番茄,这时有小红继承小明 当小明的父类,由于继承有传递性,小红就有了一个和我一样的黄瓜,和小明一样的番茄,小红也有自己的食物-鸡蛋。这样小红就能自己炒一份黄瓜西红柿炒鸡蛋,小明就可以吃番茄炖黄瓜,我就只能啃黄瓜。
每个人都有自己的祖先,但是如果上溯几万年可能大家就有一个共同的父亲,而在java里也一样。所有类的祖宗都是
java.lang.Object。同时如果一个类没有再定义的时候没有extends父类,则默认它的父类是java.lang.Object
需要注意的是在类的定义过程之中,当前定义的类与其直接父类之间在构造方法上存在约束问题。
即任何一个子类的构造方法中都会调用其直接父类的构造方法,而且必须是在构造方法中的第一句。格式为:
super(调用参数列表);
假如其父类的构造方法为默认构造方法或无参构造方法,此句可以省略。若父类的制造方法为有参数的构造方法,必须要加上super(参数列表); 并且调用的参数要与构造方法中的参数一一对应。否则会报错。
注意”如有一个类或方法被final修饰。则该类或方法不能被继承
Java中已有的类(如Void、String、Class、Scanner、System、8种基本数据类型对应包装类等类)已经被final修饰,这些类不能被继承。
本文深入浅出地介绍了Java中的继承机制,包括如何定义继承关系、继承的传递性、构造方法的调用规则以及final关键字对继承的影响等内容。
12万+

被折叠的 条评论
为什么被折叠?



