继承性是面向对象程序设计语言的一个重要特征,通过继承可以实现代码的复用。Java语言中,所有的类都是直接或间接地继承java.lang.Object类。子类继承父类的属性和方法,同时也可以增加属性和方法,在Java语言中不支持多继承,但可以多层继承。
继承是通过extends关键字来实现的,在定义子类时使用extends关键字指向父类,两个类之间建立了继承关系。如果父类又继承某个类,则这个类是子类的间接父类;如果没有声明extends子句,则该类的父类为java.lang.Object。
子类可以继承父类中非私有的成员变量和方法。在类的继承中,若子类定义了与父类相同名字的变量,则子类继承父类的成员变量被隐藏:当子类执行继承自父类的方法时,处理的是继承自父类的成员变量;当子类执行自己声明的方法时,操作的是自己声明的变量。在这里进行比较:局部变量定义的作用范围为它自身所在的大括号,当成员变量与局部变量重名,局部变量会隐藏成员变量。
若子类定义了与父类相同的成员方法,这里的相同指方法声明如修饰符、返回值类型、方法名与参数列表,这种情况称为方法的重写。通常在父类的功能不能满足子类的需求时进行方法的重写,在子类执行该方法时,会操作自己定义的方法。在这里进行比较:在同一个类中,方法名相同,但参数列表不同(如参数个数,对应位置的参数的数据类型),这种情况叫做方法的重载,方法重载与返回值数据类型无关;一般在需要实现同一功能而参数不同时进行方法的重载。
在继承中,有两个需要注意的关键字,分别是this和super。
1、this关键字
this代表了当前对象的一个引用,相当于当前对象的一个名字,通过这个名字可以进行访问对象、修改对象的成员变量、调用对象的方法。this使用的场合有以下几种:
A、成员方法的形参名与成员变量名相同,或者局部变量与成员变量同时出现并且名字相同的时候(发生局部变量隐藏成员变量的问题);
B、有参数的构造方法中,为了达到见名知意的要求,局部变量和成员变量使用相同的名称作为标识符,这个时候经常使用:this.name=name;
C、当有构造方法的重载时,用来引用同类的其他构造方法。
2、super关键字
super表示当前对象的直接父类对象的引用。super使用的场合有以下几种:
A、若子类的成员变量名与父类的成员变量名相同时(父类中的成员变量会被隐藏);
B、调用父类中被重写的成员方法;
C、用来调用父类中的构造方法。
要注意的是:super不是代表对象,super代表的是父类内存空间(方法区)的标识;每个子类的构造方法中默认有一个无参数的super(),但是最好手动给出,以增强阅读性。
java继承性 java继承性的定义
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【Java】面向对象.继承性
java.面向对象.继承性 * 关于java语言当中的继承 * 1.继承是面向对象三大特征之一 * 2
java 继承 父类 子类 构造方法 -
css 样式继承性oo
-
CSS继承性
文字相关的都可以继承页面中字体样式习惯统一在body中设置 我是中国人 这个是div 这个是段落
继承性 html css 其他