javase day08笔记

第八天课堂笔记

递归

  • 自己调自己,复杂问题简单化

  • 递归包括:方法、递归头、递归体

    • 递归头:什么时候结束
    • 递归体:什么时候调自己
  • 递归使用逻辑

    image-20240319102246295

  • 递归的缺陷:递归调用占用大量系统堆栈

面向对象★★★

  • 概念
    • 面向对象:虚拟世界模拟现实生活
    • 面向过程:按步骤完成
    • 类:同一事物抽象的描述
    • 对象:具体的实例
    • 类和对象的关系:(抽象与具体的关系)
    • 属性(成员变量):对象的特征
    • 方法/行为:对象实现的功能、事情
    • 公共属性 + 公共行为 =》 类

编写面向对象代码★★★★

  1. 编写类:【修饰符】 class 类名{}

  2. 编写属性/成员变量:【修饰符】数据类型 属性名 【=值】;

    1. 成员变量没有赋值,采用默认值
      1. 整型=>0
      2. 浮点型=》0.0
      3. 字符类=》\u0000
      4. 布尔类型=》false
      5. 引用类型 =》 null
    2. 局部变量没有默认值
  3. 编写方法:【修饰符】返回值类型 方法名称(【参数列表】){方法体}

  4. 编写测试类:写一个包含main方法的类来调用对象

  5. 创建对象: 类名 对象名 = new 类名();

    • 内存分析图

      • 常量池:存放字符串的值

      image-20240319163934014

  6. 输出对象的属性值:对象名.属性名

  7. 赋值: 对象名.属性名 = 值;

  8. 调用:对象名.方法名([参数列表]);

    • 没写static,不能使用类名.方法名
  • 成员变量和局部变量的区别★★★★★

    局部变量成员变量/属性/字段
    声明位置不同方法中类中
    作用范围不同最近{}内类中
    在内存存储位置不同栈区方法中堆区对象中
    声明周期不同所在区域new 对象 -> clean 对象
    初始值不同无,不赋值调用报错默认初始值
    可用修饰符不同只能用finalprivate、默认的、protected、public、static、final等
    • 变量在使用时,遵循就近原则

    • 在同一个类中,局部变量和成员变量同名不报错

    • this.: 表示当前这个对象,当谁调用这个方法,就指的是谁

      image-20240319160251897

  • 匿名对象

    • new 类名();
    • 只调用一次可使用匿名对象
    • 做为实际参数进行传递

快捷键

  • 方法:先写调用,后快捷键生成
    • shift + fn + f2 : 跳转到语法错误的位置
    • alt + shift + enter :在指定的类中创建指定的方法
    • alt + enter:其他提示方法

fn + f2 : 跳转到语法错误的位置
* alt + shift + enter :在指定的类中创建指定的方法
* alt + enter:其他提示方法

  • 11
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值