J2SE基础:4.面向对象的特性一


面向对象的特性
封装 继承多态


封装:
定义:
通过对象的封装,实现了模块化和信息隐藏。
通过对类的成员施以一定的訪问权限,实现了类中成员
的信息隐藏


注意点:
对象自已该做的一些事情与方法不能交与其他类去实现。

将内部的实现隐藏化。别人不用去关心内部怎么实现。


仅仅要调用方法就能够得想结果。




继承:
继承的特性:


      A:通过继承能够实现代码的复用。子类能够继承父类中的变量及方法。


前提:父类訪问修饰符的控制对继承的影响:

父类私有的属性与方法不能被子类继承。


Default:同一包中能够訪问。


      B:父类包含全部直接或间接被继承的类。
      Animal
|
|
        ∨
       Dog
|
|
        ∨
       Dog_WangCai  
       
      C:子类不但继承父类的属性和方法,也能够拥有自已新增的属性与方
         法。


      D:Java中不支持多继承。(在Java中能够使用接口来模拟多继承的
      方式)。
        多继承带来的问题:假设使用多继承,父类中都拥有同样的方法
时,虚拟机无法推断是调用哪一个父类的方法。






使用继承所带来的问题:


1:变量的隐藏
当一个类继承还有一个类时,将继承父类的对象属性与类属性。
当子类中新增属性时,假设子类新增的属性与父类的属性名称
一致时,(类中不可能出现同样名称的属性)。父类的属性将
被自己主动隐藏。


2:方法的重写
当子类继承父类时,拥有父类的方法。
调用时,肯定是调用父类的方法。假设子类不惬意父类的实现
能够重写父类的方法。

重写的原则:


1:返回值,方法名称,方法的參数必需要跟父类一致。
2:子类重写的方法不能比父类拥有更严格的訪问权限。(>=父类的
訪问权限)
3:子类重写的方法不能抛出比父类很多其它的异常。


3:superkeyword
super能够用于调用父类的属性与方法和构造方法。


super():调父类的构造方法。这段代码必须写在子类构造方法的
第一行。
假设父类的构造方法有參数。
super(參数值):


super.XXX:调用父类的属性。
super.XXX():调用父类的方法。
原文地址:https://www.cnblogs.com/hrhguanli/p/4024153.html