java基础篇-封装继承多态

来源:互联网 发布:在linux上安装oracle 编辑:程序博客网 时间:2024/05/21 07:47

面向对象的三个基本特征是:封装、继承、多态。


1.封装,继承,多天的理解。

封装:将其信息属性和方法具体实现隐藏起来,只提供调用方法的接口,既封装
继承:将一个已有类中的属性和方法保留,可再加上自己特有的属性和方法,形成一个新类,就是继承
多态:指同名但是不同的两种实现方式:重写和重载


2.为何需要封装?
隐藏类的实现细节
让使用者只能通过指定的方法访问数据,可以方便加入控制逻辑
限制不合理的操作
便于修改,增强代码的可维护性

3.继承:1.继承的定义:将一个已有类中的属性和方法保留,可再加上自己特有的属性和方法形成一个新类,既继承
      2.通过extends关键字实现继承
      3.子类可以定自己的成员属性和方法
      4.子类继承父类的所有属性和方法,除了private修饰的属性和方法
      5.java中只支持单继承,不能同时继承多个子类
      6.父类中的构造方法,子类不能去继承(构造方法不能被继承)
      7.supper关键字代表父类,使用supper关键字才能让子类借用(调用)父类的构造方法(不是继承构造方法,是借用)
      8.supper.父类成员变量
supper.父类成员方法(参数列表)
      9.在子类的构造方法中,通过supper调用父类中对应参数的构造方法(注意是在子类构造方法中调用)
      10.总结: 1.)一个类如果没有extends任何类,则默认继承Object类
2.)JAVA只支持单继承,不允许多重继承。
3.)可以有多层继承;类B继承类A;类C继承类B;
4.)子类继承父类的成员变量和成员方法,但不继承父类的构造函数,但在子类的构造方法中可以使用super(参数列表)

    调用父类的构造方法。
5.)如果子类的构造方法中没有显示的调用父类构造方法,也没有使用this关键字调用自己的其他构造方法,
    那么在产生子类实例对象时JVM自动调用父类无参数的构造方法。(每个类中都有一个默认的无参的构造方法)


4.多态:指同名但有不同的具体实现的多个方法同时存在一个程序中。有两种实现方法:重载和重写
4.1.多态--重写:1.)子类与父类中方法名、参数类型、返回值类型都一样
   2.)但方法体不一样
   3.)如果在子类中想调用父类中的那个被重写的方法,我们可以用super.方法名(参数列表) 
   4.)重写方法时,不能使用比父类中被重写的方法更底的访问权限 。


4.2.多态--重载: 1.)在同一个类中方法名相同,方法的参数类型或个数或顺序不同
        2.)1、两个方法参数类型相同不能重载; 2、参数名不同不能作为重载的条件