首页 > 技术文章 > 总结2

a-n-yan 2021-09-12 07:55 原文

1.方法重载机制(Overload)

应用场景:当一个类中存在多个方法实现的功能相似,则可以使用方法重载机制,使得方法使用上如同一个方法。

构成方法重载的条件:

  1. 重载的方法都在同一个类当中

  2. 方法名相同

  3. 参数列不同(数量,顺序,数据类型)

  • 注意:构成方法重载与修饰符列表和返回值类型无关

2.方法重写/覆盖(Override/Overwrite)

当子类重复类中继承的方法无法满足子类的功能需求时,可以使用方法重写,父类原有的方法在子类中将被覆盖,不存在了。

方法重写的条件:

  1. 存在继承关系,子类重写父类中的方法

  2. 重写方法返回值类型,参数列表,方法名均相同

  3. 重写的方法访问全选可以更低,不可以更高

  4. 重写的方法抛出的异常的异常可以更少,不可以更多

  • 注意:

    • 子类重写父类中的方法只能重写一次

    • 对于父类中的私有方法(被private修饰),子类不可以对进行方法重写(其实也可以理解为私有方法只能在本类中访问,因此不能在子类中对其进行任何操作)

    • 子类不可以重写父类的构造方法

     

3.方法的递归调用

递归算法的数据结构类似于栈操作,栈顶的方法最先调用/执行,栈底的方法最后调用/执行

  /*方法的递归调用:即有个方法调用自身
*   注意:
*   1.递归调用无尽头,会造成栈溢出错误
*   2.递归调用能不调用就不要使用。
* */
  class Myclass01{
    public void mht01(){
        System.out.println("mth01begin");
        mht01();//方法的递归调用
        System.out.println("mth01end");
    }
}

 

经点的递归算法:

  1. 计算1~n的和:

    /*不使用递归算法计算1-n的和*/
    public static int sum(int n){
      int result=0;
      for(int i=0;i<=n;i++){
          result+=i;
      }
      return result;
    }
    /*使用递归算法计算1-n的和*/
    public static int s (int n){
      if(n==1){
          return 1;
      }
      return n+sum(n-1);
    }
  2. 计算n 的阶层

    /*不使用递归计算n的阶层*/
    public static int mth04(int n){
      int result=1;
      for(int i=1;i<=n;i++){
          result=result*i;
      }
      return result;
    }
    /*使用递归算法计算n的阶层*/
    public static int mth05(int n){
      if(n==1){
          return 1;
      }
      return n*mth05(n-1);
    }

 

4.面向对象与面向过程的区别

面向对象:关注独立体能够完成哪些功能,具有低耦合,高扩展的特点

面向过程:关注类的具体实现细节,具有因果有关系,导致高耦合,低扩展的特点

  • 注意:面向过程和面向对象并没有完全清晰的界限,面向对象中也存在面向过程,面向对象需要面向过程来连接,从而又组成另一个大对象。

5.面向对象的三大特征

  1. 封装(jar包)

  2. 继承(子类继承父类)

  3. 多态(子类脱离父类固有的东西)

6.面向对象方式开发一个软件的生命周期

  1. 面向对象分析:OOA(analize)

  2. 面向对象设计:OOD(design)

  3. 面向对象编程:OOP(programe)

7.类和对象

类:抽象的概念,现实世界中并不存在,它描述的一个事物的状态(属性)和动作(方法)

对象(实例):现实生活中真实存在的事物

二者之间的联系:

类是对象的抽象,将几个对象上共同特征抽象出来便可以构成一个类,即类是对象的抽象

对象是类的具体,一个类的不同特征具体到不同对象的时候最终的结果不一样。是类的实例化的结果

类------>对象(instance) :实例化过程

对象(instance)-------->类:抽象过程

 

推荐阅读