zoukankan      html  css  js  c++  java
  • 面向对象 面试题

    面象对象的三大特征:

    • 继承:extends

       作用:代码复用、传递性。  

       子类继承父类的特征和行为。子类可以有父类的方法,属性(非private)。子类也可以对父类进行扩展,也可以重写父类的方法。缺点就是提高代码之间的耦合度。

       super关键字:通过super实现对父类成员的访问。用来引用当前对象的父类。通过super显示的调用父类的有参构造,无参构造可以隐式调用

       this:用来引用当前对象,指向自己

       final:可以修饰类,方法,属性;修饰的类不能继承,修饰的方法不能重写,修饰的属性不能修改。

    • 封装:隐藏内部实现,只暴露公共行为

        1.  类:封装的是对象的属性和行为

               2.  方法:封装一段特定的业务逻辑功能

       3. 访问控制修饰符:封装的是具体的访问权限

    • 多态:分为:

       1. 行为多态(所有抽象方法)体现在:

        重载:

          1) 发生在一个类中,方法名称相同,参数列表不同,方法体不同

          2)  遵循"编译期"绑定,看参数/引用的类型来绑定方法

        重写:

          1)  发生在父子类中,方法名称相同,参数列表相同,方法体不同
          2)  遵循"运行期"绑定,重写方法被调用时,看对象的类型
          3)  遵循"两同两小一大"原则:
             两同:
            -  方法名称相同
               参数列表相同
             两小:
            1.  派生类方法的返回值类型小于或等于超类方法的
                1)  void时,必须相等
                2)  基本类型时,必须相等
              3)  引用类型时,小于或等于
               2. 派生类方法抛出的异常小于或等于超类方法的-----异常之后
               一大:
                派生类方法的访问权限大于或等于超类方法的-

       2. 对象多态(所有对象)体现:

           向上造型:向上转型是自动的   Father  f  = new Children();不需要强转

           向下造型:向下转型需要强转   Children c = (Children)new Father()需要强转。让父类知道具体转成哪个子类   

  • 相关阅读:
    闭包
    线程与进程
    异常处理
    socket编程
    面向对象编程
    模块
    正则表达式
    递归、二分查找、冒泡算法
    装饰器
    迭代器与生成器
  • 原文地址:https://www.cnblogs.com/677-code/p/9451330.html
Copyright © 2011-2022 走看看