Java笔记
2022-08-01 09:05:59 0 举报
AI智能生成
登录查看完整内容
为你推荐
查看更多
更新Java笔记
作者其他创作
大纲/内容
属性封装: setter/getter (alt+shift+s)
封装
all
子类
同包
同类
子主题
不可
可
private
不可(不同包)
默认修饰符
protected
public
修饰符
使用类调用
静态方法必须被实现
静态成员方法
静态代码块
static
符合is-a关系
在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数,此现象称为方法重载
方法重写和重载
方法重写: super.方法(调用父类方法)
继承关系下子类父类初始化的顺序父类的属性---->父类的构造函数---->子类的属性---->子类的构造函数
继承(extends)
多态的描述
1.必须有继承关系的类
2.子类必须重写父类的方法
3.向上转型(父=子) 自动类型转换
实现多态的前提条件
1. 使用父类作为形参
2. 使用父类作为方法的返回值
实现多态的方式
1.父给子 向下转型 强制类型转换 调用子类特有的成员的时候需要强制类型转换为子类类型
向上/向下转型
多态
抽象类不能被实例化
抽象类中可以有多个抽象方法和多个实例方法
抽象类
抽象方法没有方法体
抽象方法
abstract关键字修饰
接口是由全局常量和公共的抽象方法所组成.
接口是解决Java无法使用多继承的一种手段,但是接口在实际中更多的作用是制定标准的
接口
面向对象
多个catch块只能执行一个 (子类异常在前)
try-catch-finally
throw 和 throws
异常
继承java.lang.Thread类
实现java.lang.Runnable接口
创建线程
调用run()只有一条main线程这个路径
调用start() 有多条路径 多个线程抢占CPU交替执行
run()和start()区别
创建状态 new的时候 创建线程对象的时候
就绪状态 调用start()方法之后就是就绪
运行状态 抢到CPU就是运行 没运行完被其他线程抢走了 那就是就绪状态
font color=\"#ff0000\
死亡状态 线程的功能结束了
线程五状态
sleep(long millis)--使当前正在执行的线程以指定的毫秒数暂停
setPriority(int类型的值)--设置优先级
join()--等待这个线程死亡。
yield()--概率礼让同优先级的进程
线程调度
修饰实例方法,作用于当前实例加锁,进入同步代码前要获得当前实例的锁
修饰静态方法,作用于当前类对象加锁,进入同步代码前要获得当前类对象的锁
修饰代码块,指定加锁对象,对给定对象加锁,进入同步代码库前要获得给定对象的锁
(同一时刻只能有一个线程进入synchronized(this)同步代码块)
synchronized关键字
多线程
1.James Gosling
2.Java上线1995
3.公司: Oracle
基础知识
变量和数据类型
if(判断条件) { 代码块1;}else { 代码块2;}
if-else
if(判断条件1) { 代码块1;}else if(判断条件2) { 代码块2;}else if(判断条件3) { 代码块3;}... ...else{ 代码块4;}
多个if-else
if(判断条件1) { if(判断条件2) { 代码块1; }}else { 代码块2;}
多重if
选择结构
for(int i=0; i<arr.length; i++){}
for
while(判断条件){}
do{}while(判断条件);
循环结构
同一数组所有数据类型相同(二维数组一样)
数据类型[] 数组名 = new 数据类型[数组长度];
排序(升序): Arrays.sort(数组名);
一维数组
数据类型[][] 数组名 = new 数据类型[外层数组长度][内层数组长度];
二维数组
数组
LinkedList (采用链表存储方式. 插入、删除元素时效率比较高)
List接口 (存储一组不唯一,有序(插入顺序)的对象)
HashSet
TreeSet
Set接口 (存储一组唯一,无序的对象)
Collection接口
HashMap
TreeMap
Map接口 (存储一组键值对象,提供key到value的映射)
1.获取迭代器对象 Iterator<要遍历的集合中存储的元素类型> 对象名=要遍历的集合.iteartor()
迭代器(遍历集合)
集合
Java
收藏
0 条评论
回复 删除
下一页