封装是面向对象方法的重要原则,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节
实例化的同时调用了父类的构造方法再进行子类的构造方法
实例化的同时不管怎么样父类的无参构造方法都会执行一次
注意哦!调用父类的有参方法在有参数的的子类构造方法下写super
构造方法没有返回值 目前理解为添加值 实例化调的为构造方法
重载只需要参数列表不同即可
重载是有返回值的,但是参数不同,调用方法是以参数个数进行调用
重载定义:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
继承子类可以获得父类的所有的方法和属性
使用 extends继承父类的方法
super表示调用父类的属性以及方法 可以直接调用父类的构造方法
继承的好处是
提高了代码的复用性(多个类相同的成员可以放到同一个类中)
提高了代码的维护性(如果方法的代码需要修改,修改一处即可)
继承的弊端
继承让类与类之间产生了关系,类的耦合性增强了,当父类发生变化时子类也不得不跟着变化
什么时候使用继承呢?
继承体现的关系: is a
如果我有两个类A和B,如果他们满足A是B的一种,或者B是A的一种,就说明他们存在继承关系,否则就不可以滥用继承
为什么需要继承?
1.优化代码,方便修改
2.提高代码的重用性
3.为了多态而做铺垫
不能多继承 Object是祖先
/*
不能继承private 子类与父类不在同一个包
构造方法不能继承
实例化的同时调用父类的构造方法再调用子类的构造方法
父类一定不要轻易了的重载构造方法 如果一定要重载带构造方法
一定要养成习惯 保留无参构造方法
*/
总结为:
继承就是为了多态而产生