JAVA笔记(复习)(新)
概述
重要特点
- Java语言是面向对象的
- Java语言是健壮的。Java的强类型机制,异常处理,垃圾的自动收集等是Java程序健壮性的重要保证
- Java语言是跨平台性的。
- Java语言是解释型的
JDK,JRE和JVM的包含关系
- JDK=JRE+开发工具集
- JRE=JVM+Java SE标准类库(java核心类库)
- 如果只想运行开发好的.class文件,只需要JRE
变量注意事项
- 变量表示内存中的一个存储区域
- 该区域有自己的名称和类型
- 变量必须先声明,后使用,即有顺序
- 该区域的数据可以在同一类型范围内不断发生变化
- 变量在同一个作用域内不能重名
- 变量=变量名+值+数据类型。
数据类型
- JAVA数据类型分为两大类,基本数据类型,引用类型
- 基本数据类型中有8种,数值型【byte,short,int,long,float,double】char,boolean
- 引用类型【类,接口,数组】
整型细节
- Java各整数常量(具体值)默认为int型,声明long型常量需要后面加‘l’或‘L’
- bit:计算机中最小存储单元。byte:计算机中基本存储单元,1byte=8bit。
浮点型细节
- 浮点常量默认为double型,声明float型常量,需要后面加‘f’或‘F’。
字符型细节
字符编码表
类以及类型转换
类的组织形式
自动转换注意类型和细节
强制类型转换
运算符,标识符
逻辑运算符一览
-
规则
-
短路与与逻辑与
-
短路或与逻辑或
-
逻辑运算符规则
三元运算符
-
细节
运算符优先级
进制
标识符命名规则
原码反码补码
-
-
为什么用补码来运算:补码可以把正数和负数连接起来。
位运算符
注意
重要的两个编程思想
程序控制
switch,for,while,do...while
多重循环,
合理运用。
嵌套最好不超过三层
continue,break
数组
概念
使用方式
细节
冒泡排序
特点:
二维数组
生成随机数
-
-
-
radom的nextInt(int n),指的是在0到n(不包括n)之间随机生成一个int型的值
二维数组内存中的存在形式
类与对象
对象存在形式
基本介绍
注意细节
内存分配机制以及流程
成员方法
基本介绍
调用
定义
细节
编写思路
传参机制 parameter(参数)
方法递归调用
-
基本定义
-
重要规则
方法的重载
-
基本介绍
-
细节
可变参数
-
基本概念
-
解读
-
细节
作用域
-
基本使用
-
注意事项
构造方法/构造器
-
-
-
class Person{ String name; int age; //构造器 // 1. 构造器没有返回值,也不能用void // 2. 构造器的名称和类名一致 // 3. (String pName,int pAge)是构造器的形参列表,规则和成员方法一样 public Person(String pName,int pAge){ System.out.println("构造器被调用"); name=pName; age=pAge; } } //小点(.)是对象访问符,例:p1.age
-
注意事项和细节
Javap可以反编译
-
对象创建流程分析
- 方法区加载类信息(只会加载一次),在堆中开辟一块该类的空间(分配地址)。
- 根据类里定义的全局变量(属性)将该空间划分出来,默认初始化:初始值int型为0,string型为null。
- 显式初始化:如果属性有赋值初始值,将其赋给该属性。
- 构造器初始化:如有传参,应用相应的构造器进行属性值的更改。string类型从常量区进行加载。
- 将堆中的对象的地址返回给栈中的p(对象的引用/对象名)。
this关键字
-
因为java是在jvm虚拟机上运行的,所以没有办法直接获取真实的地址。折中办法使用hashCode()返回对象的哈希码值,可以近似当作对象的地址。
-
-
-
练习
-
Double是double的包装类。返回值可以为空:null。
-
注意:静态方法可以直接通过类名调用
包
三大作用
包的本质
包的命名
常用的包
注意事项以及细节
访问修饰符
基本介绍
注意事项
面向对象三大特征
封装
-
介绍
-
好处
-
实现步骤
-
如果在构造器中也需要对数据进行判断,可以把get/set跟构造器结合。在构造器内部调用get/set方法。
继承
-
基本介绍以及基本语法
-
细节
-
继承的本质
- 内存布局图
-
继承顺序
-
super关键字
-
基本介绍
-
细节
-
表格
-
演示规则
-
-
方法重写
-
基本介绍
-
细节
-
重写和重载的区别
-
多态
-
基本介绍
-
具体体现
-
向上转型
-
注意事项,细节
-
调用方法规则
-
-
向下转型
-
注意事项
-
动态绑定机制
-
多态应用
-
多态数组
A instanceof B:判断A的运行类型是不是或者B的子类,
-
多态参数
-
-
什么是多态,多态的具体体现有哪些?
(3)编译类型看定义时=号的左边,运行类型看=号的右边。
Object类详解
equals方法
-
==和equals的对比
-
示例表格
-
instanceof
hashCode方法
-
6点小结
toString方法
-
基本介绍
finalize方法
断点调试
注意事项以及介绍
快捷键
示例小项目零钱通
//用于日期格式化
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
//获取当前日期
date = new Date();
-
开发流程
-
改进
-
小项目截图
类变量与类方法
类变量
-
特点以及举例
-
static变量的位置
jdk8以前是在方法区的静态域,jdk8及以后是在堆中的对应的class对象的最后。
-
共识
-
基本介绍
类变量师随着类的加载二创建,所以即使没有创建对象实例也可以访问。
-
使用细节
类方法
-
基本介绍
-
使用场景
-
注意事项
小结
main方法
形式
注意
代码块
基本介绍
好处以及使用方法
-
好处
-
使用方法
使用细节
-
第一部分
-
第二部分
-
第三部分
-
第四部分
单例模式
设计模式介绍
概述
饿汉式
-
具体步骤
-
细节解释
懒汉式
-
步骤
区别
总结
final关键字
基本介绍
细节
-
第一部分
-
第二部分
抽象类
概念
细节
-
第一部分
-
第二部分
-
第三部分
接口
基本介绍
小结
细节
-
第一部分
-
第二部分
实现接口和继承类的区别
接口的多态
内部类
基本介绍
基本语法
分类
局部内部类
- 使用
注意:
匿名内部类
-
本质
-
使用举例
-
细节
-
成员内部类
-
使用
静态内部类
-
特点
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix