继承是面向对象(封装、继承、多态、抽象)的特征之一,是一个很重要的知识点。
继承顾名思义就是一个类继承了另一个类,当它继承了这个类之后,这个类里面的属性和方法也就都继承了过来,继承用extends关键字连通两个类进行继承,那么继承可以继承私有属性吗?是可以继承的,所以部分不能继承私有属性的说法是错的,只是继承以后不能访问。
需要继承其它类的类叫子类(派生类),被继承的类叫父类(超类、基类),子类不仅继承了父类的方法和属性,并且可以在自己的类中再写方法和属性,所以子类的功能要强大与父类;一个类通常可以被多个继承,但是一个子类它只能是有一个父类,继承是可以多重继承的。
super(父类对象的引用)。
子类必须调用父类的构造方法,子类在构造方法中就是用super调用父类的构造方法。super和this不可以在同一个构造方法中调用其它构造方法,因为super和this都必须在最前面。
Object是所以类的父类,所以所有的类都默认继承Object。
方法的重写(Override)子类中有一个和父类中方法名相同,参数列表相同,返回值相同的方法,子类重写了父类的方法。
在一个封装好的类中,例如name不能直接用,是因为它是用private修饰了,这是私有的,所以它无法直接调用,而getName()是用public修饰的,它是公有的所以可以进行调用。
因为子类继承父类后,功能会更强大,所以从父类继承过来的方法可能不满足现在的需求,这时候就需要将方法重写,从而满足写着的需求。
那么为什么从父类继承的方法,不能满足子类的需求,一定要重写父类的方法,而不是新写一个方法呢?当然是为了实现多态!
直接打印一个对象,会默认调用Object中这个对象的toString方法
重载和重写的不同点:
继承(extends)
最新推荐文章于 2023-03-27 18:13:24 发布