zoukankan      html  css  js  c++  java
  • java OOP第03章_继承、抽象类和抽象方法

    一、    为什么需要继承:
        若多个类中都需要一些属性和方法,那么就可以将属性和方法抽取到一个父类中,需要的子类可以通过extends关键字去继承这个父类后拥有相应的属性和方法。
        类、数组、方法----引用数据类型
    二、 继承的流程:   
    1、 编写父类:Animal   2、 编写子类:Dog、Cat、Pig   3、 在子类中通过extends关键字去继承父类:
    三、 继承的注意事项:   
    1. 父类中的属性和方法只有使用protected、public修饰的才能被子类继承。   2. 当编写一个类时,若使用了extends关键字继承某个父类,该父类就是当前类的直接父类;
          若没有使用extends关键字继承某个父类,系统会自动继承object类,object就是该类的直接父类;所有类都会直接或间接继承object类。   
    3. 子类继承父类后,只要父类是使用protected、public修饰的方法都能被子类继承,若子类对父类的方法不满意可以通过@Override标识重写父类的方法。   4. 子类中重写父类方法,子类中的方法访问(范围)修饰符只能是与父类相同或更大,而不能比父类的修饰符更小。   5. Java是一个单继承的开发语言,即一个类只能继承一个父类,但是可以实现多个接口。   6. Final修饰的类是终态类,是不能被其他类继承的;final修饰的方法是终态方法,是不能被子类重写(覆盖)。
    四、 继承后的初始化流程:   
    1. 初始化父类的属性:   2. 初始化父类的静态代码块:   3. 初始化子类的属性:   4. 初始化子类的静态代码块:   5. 初始化父类的构造方法:   6. 初始化子类的构造方法:   7. 初始化子类或父类的实例方法:
    五、 Super关键字:   Super是“超级,父类”的意思,通过该关键字可以去访问父类中的资源(属性、构造方法、实例方法)。   
    1. Super访问父类的属性:     格式:super.属性名     举例:super.name   2. Super访问父类的实例方法:     格式:super.方法名()     举例:super.publicMethod()   3. Super访问父类的构造方法:     Super();   注意:     1) 只能在子类的构造方法中调用父类的构造方法,而不能在实例方法中调用父类的构造方法。     2) 调用父类构造方法的语句之前不能有其他语句。注释除外     3) This();调用自己类的构造方法;在一个构造方法中调用另一个构造方法,调用构造方法的语句前不能有其他语句。
    六、 抽象方法和抽象类:   
    1. 抽象方法:     Java当中的方法有两个部分构成:定义和实现,既有定义部分和实现部分的方法称为实现了的方法;
        只有定义部分而没有实现部分的方法称为抽象方法,抽象方法需要使用abstract关键字修饰,{}用;代替。   
    2. 抽象类:     一个类中若包含了抽象方法,那么这个类就必须使用abstract修饰符将他声明为抽象类;抽象类中可以包含抽象方法、实例方法。也可以没有抽象方法。   3. 抽象类的注意事项:     1) 抽象类和接口都是不能被实例化的,即不能创建抽象类和接口的对象。     2) 一个类若继承了一个抽象类或实现接口,该类有两种选择,要么将自己声明为抽象类,要么实现所有的抽象方法。
  • 相关阅读:
    vue之路由的命名视图实现经典布局
    vue之路由的嵌套 子路由
    AngularJS阻止事件冒泡$event.stopPropagation()
    Vue之路由规则中定义参数 传参方式2 params
    前台页面中的Cookie存取删除,以及Cookie的跨域问题
    关于Cookie中的Expire问题和删除Cookie那点事儿
    4-索引中的那些操作
    3-在字符串内插中的神奇用法
    2-for循环之特别的写法与神奇的Override
    1-在C#中的数字 int double
  • 原文地址:https://www.cnblogs.com/zhangzimuzjq/p/11692236.html
Copyright © 2011-2022 走看看