封装:
合理隐藏,合理暴露。
隐藏不想被外界操作的field、方法、构造器。
暴露一般及时希望给别人调用的方法。
封装的目的:
A、简化编程。
B、能更好地保证对象的完整性。
实现隐藏:有4个修饰符。
private ———————当前类访问权限。
没有访问权限修饰符——包访问权限
protected——————子类访问。
public————————公共访问权限
private——>默认——>protected——>public
继承:
is a (一般到特殊) 用extends 扩展
继承指的是一个类从另一个类从获得属性和方法的过程,它们的关系可以看做是父子的关系,一个父类,一个子类。
多态(ploymorphism)
由于有如下关系:
父类到子类的关系:一般到特殊的关系。
Animal a=new wolf();
第一个结论:【子类的实例,完全可以当成父类对象使用。】
父类的引用变量,完全可以指向子类的实例。
多态:同一个类型的变量,在执行同一个方法时,表现出多种行为特征———这就是多态。
第二个结论:
java 的引用变量,有两个类型:
编译时类型:由声明她的类型来决定。
运行时类型:由该引用实际所指向的对象来决定。
当我们调用引用变量是,它总是呈现它的运行时类型的行为特征。
在编译阶段,编译器并不知道引用变量所引用的对象类型,编译器只知道它的编译时的类型。