2022.07.18 第九小组 王茜 学习笔记

  递归  

      Java中的递归:

      ​在方法的函数体中又调用了方法自己本身。

递归调用的细节:必须要求递归中有可以让函数调用的结束条件。否则函数一直调用,就会导致内存溢出。

  面向过程和面向对象  

  1. 面向过程:面向过程就是分析出实现需求需要的步骤,通过一些方法来一步一步实现
  2. 面向对象(行为化):把整个需求的按照特点、功能划分,将这些存在共性的部分封装成类(类实例化之后才是对象),让对象去解决问题

面向对象是更高级的抽象,是对现实世界的映射。

       在Java中,面向对象有三(四)大特征:

  1. 封装
  2. 继承
  3. 多态
  4. 抽象

        创建对象的过程,类的实例化的过程,对象又叫做类的一个实例

我们创建了一个Car类的对象car1,这个car1就是对象的名。其实这个car1就是个标识符。

对象名的命名规则:小驼峰1创建对象的语法:类名 对象名 = new 类名( );类名 对象名 = new 构造器(类名())

        

斐波那契数列
 public class Ch06 {
    /*
    斐波那契数列
    我们知道了除了0和1,第number个数等于第number-1个数和第number-2个数的和

    当number=4时
    return fibonacci(3)+fibonacci(2)
    fibonacci(3)=fibonacci(2)+fibonacci(1)
    fibonacci(2)=fibonacci(1)+fibonacci(0)
     */
    public  int fibonacci(int number){
        if(number==0||number==1){
            return number;
        }else {
            return fibonacci(number-1)+fibonacci(number-2);
        }
    }
斐波那契后半部分
 public static void main(String[] args) {
        Ch06 c=new Ch06();
        int i= c.fibonacci(3);
    }
}

   重载  

 方法的重载Overload
* 1、方法名相同
* 2、参数不同(参数的类型、参数的个数、参数的顺序)
*
* 与返回值类型无关,与访问权限修饰符无关,与方法体无关

例子:

重载
 public class Ch07 {
    public int max(int a,int b){
       return a>b?a:b;
    }
    public int max(int a,int b,int c){
        return  (a>b?a:b)>c?(a>b?a:b):c;
    }

    public static void main(String[] args) {
        Ch07 c=new Ch07();
        c.max(1,2);
    }

   构造器  

构造器(构造方法)
* 语法:访问权限修饰符  类名(){
*
* }
* 特点:
*1、 ava在new对象的时候,先看对象所对应的类有没有构造器,有的话有什么样的构造器;如果没有构造器,则无法构建对象(创建对象)
* 2、每个类都会有一个默认的无参的构造器
* 3、在对象被实例化时调用了构造器
* 4、创建对象是通过构造器创建的
* 5、如果一个类中,显示-声明了一个构造器,原来默认的无参构造器失效

今日感受:可能是周一综合征吧,太困了......

上一秒还在听课,下一秒就迷糊了......

posted @ 2022-07-18 18:56  无聊的wx  阅读(18)  评论(0编辑  收藏  举报