面向对象的特性
封装 继承多态
封装:
定义:
通过对象的封装,实现了模块化和信息隐藏。
通过对类的成员施以一定的访问权限,实现了类中成员
的信息隐藏
注意点:
对象自已该做的一些事情与方法不能交与其它类去实现。
将内部的实现隐藏化。别人不用去关心内部怎么实现。
只要调用方法就可以得想结果。
继承:
继承的特性:
A:通过继承可以实现代码的复用。子类可以继承父类中的变量及方法。
前提:父类访问修饰符的控制对继承的影响:
父类私有的属性与方法不能被子类继承。
Default:同一包中可以访问。
B:父类包括所有直接或间接被继承的类。
Animal
|
|
∨
Dog
|
|
∨
Dog_WangCai
C:子类不但继承父类的属性和方法,也可以拥有自已新增的属性与方
法。
D:Java中不支持多继承。(在Java中可以使用接口来模拟多继承的
方式)。
多继承带来的问题:如果使用多继承,父类中都拥有相同的方法
时,虚拟机无法判断是调用哪一个父类的方法。
使用继承所带来的问题:
1:变量的隐藏
当一个类继承另一个类时,将继承父类的对象属性与类属性。
当子类中新增属性时,如果子类新增的属性与父类的属性名称
一致时,(类中不可能出现相同名称的属性)。父类的属性将
被自动隐藏。
2:方法的重写
当子类继承父类时,拥有父类的方法。
调用时,肯定是调用父类的方法。如果子类不满意父类的实现
可以重写父类的方法。
重写的原则:
1:返回值,方法名称,方法的参数必须要跟父类一致。
2:子类重写的方法不能比父类拥有更严格的访问权限。(>=父类的
访问权限)
3:子类重写的方法不能抛出比父类更多的异常。
3:super关键字
super可以用于调用父类的属性与方法和构造方法。
super():调父类的构造方法。这段代码必须写在子类构造方法的
第一行。
如果父类的构造方法有参数。
super(参数值):
super.XXX:调用父类的属性。
super.XXX():调用父类的方法。
J2SE基础:4.面向对象的特性,布布扣,bubuko.com
J2SE基础:4.面向对象的特性
原文:http://blog.csdn.net/wobendiankun/article/details/37618937