众所周知,面向对象有三大基本特征,即封装、继承、多态。上一篇文章为大家简单介绍了封装,今天这篇文章,就是要为大家介绍一下面向对象的继承。
一、什么是继承
在日常生活中,继承是这样的:张三的父亲有100万,有一天,张三的父亲的三舅的表格的侄子突然间噶了,张三呢,很难过啊,太难过了,因为他父亲的三舅的表格的侄子的100万要留给他。
张三的这位亲戚把100万留给张三这个过程就是继承。在java中,类之间也有继承,
不过,类之间的继承可不用等父类趋势。
类之间的继承,是把把父类(超类、基类)的属性和方法给子类(派生类),让子类在没有写这些属性和方法的时候也可以用。
那么,为什么要使用继承呢?
二、为什么要继承
在实际的应用中,要创建的不同对象要用到不同的类,但是有些时候有些类是大差不差的。
比如学生有姓名、年龄,教师也有姓名、年龄;学生会睡觉,教师也会睡觉。如此,我们就可以创建一个父类Person,把学生和教师的共同属性和方法放在Person类中,让学生类Student和教师类Tezcher都继承同一个父类Person;
这样做可以提高代码的复用性,就i是可以少写代码(官方偷懒)。
三、继承的方法
继承很简单,只需要在类名后加extends 父类 ,然后写上多出来的属性和方法就可以了。
如
public class Student extends Person(){}
就是Student 继承了Person
四、继承须知
1、私有属性/构造方法不能继承
2、对象的转型
对象是可以转型的,
父类 方法名= new 子类;
这么做只能用父类的属性。
3、特殊修饰
static修饰属性
static修饰属性之后,父类和子类只要有一个改了,都会改。
filal
final可以算是一个”纯爱战士“了。
他修饰的方法不可重写
修饰的类不可继承
修饰的对象,可以让改属性,不能换对象
4、其他
有的同学问了,如果我的子类有和父类同名的属性和方法怎么办呢?
写就好了。具体的涉及多态的知识点,有需求的话请大家移步我的下一篇博客。
都看到这了,点个赞吧!