关于继承的一些基本知识

本文深入探讨了Java中的继承概念,将其比喻为父类与子类之间的关系,强调了如何通过继承节省代码空间和实现多层继承。同时,详细阐述了继承的特性,包括单继承和多层继承,并解析了成员变量和方法的访问规则,特别是方法的重写。文章还指出了方法重写的原因和注意事项,帮助读者理解何时及为何要重写父类方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、继承的概念与应用

	继承是Java三大特征之一。
	继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。
	这是百度百科对继承的解释,通俗的来讲,继承就像是父与子的关系,儿子可使用一切父亲已经拥有的且不属于父亲私有的东西,如果父亲给与的某些方面没有达到儿子的目标,儿子还可以对其进行改进,而那些儿子满足的部分,儿子就可以不用重新获得,也就是说不用重新编写一些重复的代码。
	例如一个公司的员工管理系统,根据不同的部门肯定要分为很多个类,不过所有的员工都要有一些基本的公共的信息,比如:姓名、年龄、生日、工作时间等。如果每个类中都对这些信息有个定义的话,那这样会浪费很多不必要的代码空间,这个时候我们只需要在一个大的父类,比如不管哪个员工都应该是一个人,当然也可能不是人,但是从生理角度来说都是个人。那么我们只需要在父类中定义一次,其它类直接继承过来便可以节省出大量的空间。
	当然从上面我们也可以看出,如果要想具有相同的父类那么必须要满足一个条件,比如不管哪个部门的员工都是一个人。那么我们用学术语言来表达就是
	**继承的应用场景:
			    1、使用继承,需要考虑类与类之间是否存在is..a的关系,不能盲目使用继承
				2、is..a的关系:谁是谁的一种,例如:老师和学生是人的一种,那人就是父类,学生和老师就是子类**

2、继承的特点

Java中继承的特点
Java中类只支持单继承,不支持多继承
错误范例:class A extends B, C { }
Java中类支持多层继承
正确范例:
class A {}
class B extends A{ }
class C extends B{ }

2、1 继承中成员变量的访问特点

在子类中访问成员变量,采用的是就近原则,一般过程为:
子类局部范围找>>>子类成员范围找>>>父类成员范围找
如果没有找到的话程序会报错
如果一定要使用父类中的成员变量的话,可以使用super关键字。如果要使用本类成员变量的话,可以使用this关键字。

2、2 继承中成员方法的访问特点

子类中访问方法的过程和访问变量的过程十分相似,都是先在本类中找,找不到了就去父类中找,如果都没有的话,就会报错。
但是如果在子类方法和父类方法中出现了同名的方法后,那么就要说到方法的重写。

方法的重写

方法重写的前提是,子类和父类中出现了相同的方法名称。
为什么要进行方法重写?
因为父类提供的方法功能不能满足子类的需求,所以子类要进行方法的重写。

方法的重写可以用Override来进行注解,来检验当前的方法是否为重写的方法。

方法重写的注意事项

1、父类中私有方法不能被重写(父类私有成员子类是不能继承的)
2、父类中静态方法不能被子类重写(如果子类也有一个一模一样的,并不是重写)
3、子类重写父类方法时,访问权限必须大于等于父类(public > 默认 > 私有)

权限修饰符

private 默认 protected public 是四种修饰符,其中最常用的是private和public 修饰符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值