封装:
1.属性私有化、提供了保护(想更改属性值就得用get、set方法)
2.隐藏了细节
继承:extends
子类继承父类的所有功能,成员变量一同继承
好处:
1.提高了代码的复用性(大大节省代码量)
2.提高了代码的可维护性坏处:
也极大降低了程序的灵活性,父类的改变将对所有子类产生影响,不管子类需不需要这个改变 。 程序的耦合性提高了,所以这就涉及到什么时候该使用继承,什么时候不该用继承,不能盲目追求 代 码复用,减少编程工作量而使用编程。组合
好处:
坏处:
重写 ,返回范围、参数范围
多态
重写
重载
上转型:Cat extends Pet; Pet p=new Cat(); run(Pet){sout(Pet+"跑");};run(cat)-->cat跑;
访问修饰符
定义:确定类、变量、方法能不能被正常访问的修饰符
public 任何地方都可以正常访问,权限最大
跨包访问
protected 同包、子类、同类可访问
目的就是给继承用
一般给继承使用;比默认就大个继承用的。
default 同包、同类
目的就是给同包访问
private 同类
肯定只能修饰类成员;只能内部用(this.xx)、外部用get()。