Java学习笔记(二) —— 基础知识篇

基础知识

1.IDEA中一些快捷键

5.fori 可以快速调出for循环

array.fori 同理,array为数组名

2.关于方法

修饰符 返回值类型 方法名称(参数类型 参数名称,...){

​ 方法体

​ return;

}

注意事项:方法应该定义在类当中,不能嵌套定义

3.重载(OverLoad)

方法名称相同,参数列表的个数和类型不同,与方法的返回值类型、名称无关

4.数组

  1. 引用数据类型
  2. 类型统一
  3. 长度不可改变
  4. 初始化方式:
    1. 动态初始化(指定长度):数据类型[] 数组名称=new 数据类型[长度] 未指定内容时,默认:整型为0,浮点型为0.0,字符型为'\u0000',布尔为false,引用为null
    2. 静态初始化(指定内容):数据类型[] 数据名称=new 数据类型[] 加粗部分省略时,不可先定义后初始化(拆分)
  5. 直接打印数组名称,得到的是数组对应的内存地址哈希值
  6. 越界会异常(ArrayIndexOutOfBoundsException)
  7. 空指针异常,没有new(NullPointerException)
  8. 获取数组长度:数组名称.length
  9. 打印数组 Arrays.toString(addr)

5.Java的内存

划分为5个部分:

  1. 栈(Stack):存放的都是方法中的局部变量

    局部变量:方法的参数和变量

    作用域:超出作用域时,立刻从栈内存中消失

  2. 堆(Heap):凡是new出来的东西,都在堆中

    堆中的东西,都有默认值,和4.4.1中的内容一致

  3. 方法区(Method Area):存储.class的相关信息,包含方法的信息。

  4. 本地方法栈(Native Method Stack):与操作系统有关

  5. 寄存器(PC Register):与CPU有关

6.面向对象

特性:封装、继承、多态

类:一组相关属性和行为的集合。

类是对象的模板,对象是类的实体。

7.类的使用

  1. 导包:import 包名称.类名称; 对于和当前类在同一个包的情况下,可以省略。
  2. 创建:类名称 对象名=new 类名称();
  3. 使用:对象名.成员变量名;对象名.成员方法名(参数);
  4. 堆中的成员方法保存的是地址值,调用方法时根据地址把方法压入栈中,执行完出栈。
  5. 当一个对象作为参数时,传的是对象的地址。(返回值同理)

8.局部变量和成员变量的区别

  1. 定义的位置不一样:局部变量在方法内部,成员变量在方法外部。
  2. 作用范围不一样:局部变量只有在方法中才能使用,成员变量整个类都可以使用。
  3. 默认值不一样:局部变量没有默认值,成员变量有默认值(参数是局部变量,必定会被赋值)。
  4. 内存的位置不一样:局部变量位于栈内存,成员变量位于堆内存。
  5. 生命周期不一样:局部变量随着方法入栈而诞生,随着方法出栈而消失;成员变量随着对象创建而诞生,随着对象垃圾回收而消失。

9.封装性

  1. 方法就是一种封装
  2. 关键字private也是一种封装(setXxx/getXxx间接访问 对于boolean类型不是getXxx,而是isXxx)

10.构造方法

  1. 构造方法和类名一样
  2. 没有返回值
  3. 只要写了构造方法,则没有默认构造方法
  4. 可以重载

11.标准类

  1. 所有的成员变量都是私有的
  2. 为每一个成员变量编写Getter/Setter方法
  3. 编写一个无参构造方法
  4. 编写一个全参构造方法
posted @   itisue  阅读(44)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示