zoukankan      html  css  js  c++  java
  • S2_OOP第二章

    第一章 继承

    语法

    修饰符 子类 extends 父类{

    //类定义不封

    }

    使用extends继承父类的属性和方法、使用super关键字调用父类的方法。

    概念

    继承是面向对象的三大特特之一,Java只支持单继承。继承表达 is a 的关系。

    Java中,所有的Java类都直接或间接的地继承了Java.lang.object类,所有类都是Object的子类

    关于修饰符可否被子类继承

    继承publicprotected修饰的属性和方法,不管同不同包。

    继承默认权限修饰符的属性和方法,只有在同包

    无法继承private修饰的属性和方法

    无法继承父类的构造函数

    访问修饰符

    本地

    同包

    子类

    其他

    Private

     

     

     

     

    默认

       

     

     

    Protected

         

     

    Public

           

    重写和继承关系中的构造函数

    子类重写父类方法

    概念

    在子类中根据需求对父类继承的方法进行重新编写,称为方法的重写或方法的覆盖。

    方法重写的要求

    1. 重写方法和被重写方法必须具有相同的方法名
    2. 重写方法和被重写方法必须具有相同的参数列表(否则为方法重载)
    3. 重写方法和被重写方法必须返回值类型必须相同,或者是其子类(重写方法中的返回值类型是被重写方法返回值类型的子类)
    4. 重写方法不能缩小被重写方法的访问权限(可见性高于或等于被重写方法的可见性,被重写方法的修饰符不能为private,否则不能被继承)
    5. Super必须出现再子类(子类的方法或构造函数)中,不能再其他位置
    6. 可以访问父类成员(可被继承的)
    7. 访问父类构造函数必须在子类构造函数的第一条语句
    8. 子类没有通过super显示调用父类的有参构造函数,也没有通过this显示调用自身的其他构造函数,则系统默认先调用父类的无参构造函数。
    9. 子类构造方法中没有使用super显示调用父类的有参构造函数,则执行父类相应的构造方法,不执行父类的无参构造方法
    10. 子类的构造方法中通过this显示调用自身的构造函数,则在相应的构造方法中应用以上两条规则
    11. 存在多级继承关系,在创建子类对象时,以上规则会多次向更高一次父类应用。一直到执行顶级父类object类的无参构造函数为止
    12. 通过abstract关键字修饰
    13. 抽象类不能被实例化。抽象类可以没有、有一个、多个或者全部都是抽象方法
    14. 抽象方法没有方法体,只有方法声明。抽象方法必须被子类继承,否则该子类也为抽象类
    15. fianl修饰类,该类不能被继承
    16. fianl修饰方法,该方法不能被重写
    17. fianl修饰变量(成员或者局部变量)都称为常量,只能赋值一次

    Super代表对当前对象的直接父类对象的默认引用

    继承条件下构造函数被调用的规则

    抽象类

    抽象类和抽象方法

    抽象类和抽象方法的特点

    Fianl修饰符

    Abstract修饰符

    Abstract不能和private同时修饰一个方法

    Abstract不能和static同时修饰一个方法

    Abstract不能和final同时修饰一个方法或类

  • 相关阅读:
    谋哥:搞APP,做得累的都不对!
    我在3天内众筹到1.8万的经验分享!
    微价值创始人想要加入“秦王会”啦!
    学习IOS开发UI篇--控制器的管理
    学习IOS开发UI篇--程序启动原理
    学习IOS开问题篇--类中的成员变量如果不实例化是什么情况
    学习IOS开问题篇--IOS程序启动的加载顺序
    学习IOS开问题篇--layoutSubviews什么情况下调用
    学习IOS开发UI篇--UIAlertView/UIActionSheet
    学习IOS开发UI篇--NSNotificationCenter通知中心
  • 原文地址:https://www.cnblogs.com/94Diao-888/p/7630626.html
Copyright © 2011-2022 走看看