Java学习笔记(二) —— 基础知识篇
基础知识
1.IDEA中一些快捷键
5.fori 可以快速调出for循环
array.fori 同理,array为数组名
2.关于方法
修饰符 返回值类型 方法名称(参数类型 参数名称,...){
方法体
return;
}
注意事项:方法应该定义在类当中,不能嵌套定义
3.重载(OverLoad)
方法名称相同,参数列表的个数和类型不同,与方法的返回值类型、名称无关
4.数组
- 引用数据类型
- 类型统一
- 长度不可改变
- 初始化方式:
- 动态初始化(指定长度):数据类型[] 数组名称=new 数据类型[长度] 未指定内容时,默认:整型为0,浮点型为0.0,字符型为'\u0000',布尔为false,引用为null
- 静态初始化(指定内容):数据类型[] 数据名称=new 数据类型[] 加粗部分省略时,不可先定义后初始化(拆分)
- 直接打印数组名称,得到的是数组对应的内存地址哈希值
- 越界会异常(ArrayIndexOutOfBoundsException)
- 空指针异常,没有new(NullPointerException)
- 获取数组长度:数组名称.length
- 打印数组 Arrays.toString(addr)
5.Java的内存
划分为5个部分:
-
栈(Stack):存放的都是方法中的局部变量
局部变量:方法的参数和变量
作用域:超出作用域时,立刻从栈内存中消失
-
堆(Heap):凡是new出来的东西,都在堆中
堆中的东西,都有默认值,和4.4.1中的内容一致
-
方法区(Method Area):存储.class的相关信息,包含方法的信息。
-
本地方法栈(Native Method Stack):与操作系统有关
-
寄存器(PC Register):与CPU有关
6.面向对象
特性:封装、继承、多态
类:一组相关属性和行为的集合。
类是对象的模板,对象是类的实体。
7.类的使用
- 导包:import 包名称.类名称; 对于和当前类在同一个包的情况下,可以省略。
- 创建:类名称 对象名=new 类名称();
- 使用:对象名.成员变量名;对象名.成员方法名(参数);
- 堆中的成员方法保存的是地址值,调用方法时根据地址把方法压入栈中,执行完出栈。
- 当一个对象作为参数时,传的是对象的地址。(返回值同理)
8.局部变量和成员变量的区别
- 定义的位置不一样:局部变量在方法内部,成员变量在方法外部。
- 作用范围不一样:局部变量只有在方法中才能使用,成员变量整个类都可以使用。
- 默认值不一样:局部变量没有默认值,成员变量有默认值(参数是局部变量,必定会被赋值)。
- 内存的位置不一样:局部变量位于栈内存,成员变量位于堆内存。
- 生命周期不一样:局部变量随着方法入栈而诞生,随着方法出栈而消失;成员变量随着对象创建而诞生,随着对象垃圾回收而消失。
9.封装性
- 方法就是一种封装
- 关键字private也是一种封装(setXxx/getXxx间接访问 对于boolean类型不是getXxx,而是isXxx)
10.构造方法
- 构造方法和类名一样
- 没有返回值
- 只要写了构造方法,则没有默认构造方法
- 可以重载
11.标准类
- 所有的成员变量都是私有的
- 为每一个成员变量编写Getter/Setter方法
- 编写一个无参构造方法
- 编写一个全参构造方法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下