java 基础回顾

基础知识记忆

1.
byte  1字节8位
short,char 2字节16位
int,float   4字节32位
long,double  8字节64位

2.java中false与0不能转换

3.& 非短路与and &&短路与

4.java 中数组就是一个对象,有属性,没有方法

5.父类中的公开静态方法,子类继承,使用子类的类名调用此方法,加载父类

6.静态初始代码块:在类加载时运行 static{……} 只被运行一次,往往用作一个类的准备工作

7.String a1 = "123"; //系统会先去串池中找"123",找到,就共享使用一个,没找到就在串池中创建一个

8.被fianl修饰的变量就是常量(常量名大写),变量:常量,一旦赋值,不能改变,为属性常量赋值的时机:对于实例常量,初始化或者构造方法中可以赋
值;

9.如果一个类中有抽象方法,那么这个类必须是抽象类。
抽象类中不一定有抽象方法  ,抽象类中可以有构造方法,是子类在构造子类对象时需要调用的父类(抽象类)的构造方法

10.单例模式:会有一个静态的属性,就是该类的一个对象。提供一个静态方法,来获得这个唯一的静态属性(单
例),同时构造方法私有

11.接口是一种程序结构,是特殊的抽象类。
接口中的方法必须都是公开的抽象方法(public abstract),接口中的属性都是公开静态常量(public static
final)。
接口中没有构造方法
所以一个源文件中可以写多个接口,但只能有一个公开接口,并且要与源文件的名字一致
接口可以继承,但是只能由接口继承。
接口可以继承,但是只能由接口继承。
在用类去继承时要换用 implements 关键字,这时类和接口也不叫做继承关系,而是实现关系,但其实质也
是继承。
接口之间是可以多继承的,其语法和类的继承语法是相同的。
接口的意义:
1,接口可以实现多继承。
2,用接口可以实现混合类型(主类型,副类型),java中可以通过接口分出主次类型。主类型使用继承,副
类型,使用接口实现。
3,接口进一步深化了标准的思想,接口本身就是一个标准,
他起到了降低耦合性的作用,接口可以使方法的定义和实现相分离,也就是将接口的定义者和实现者相分
离,
接口也可以用于降低模块间或系统间的耦合性。
针对接口编程可以屏蔽不同实现间的差异,看到的只是实现好的功能。


12.finalize():对象被垃圾收集的时候最后调用的方法

13.equals(): 对象内容的比较

14.内部类
一、复习内部类
1、成员内部类
可以访问外部类的私有成员,外部类类名.this.属性
构造成员内部类对象,必须先构造一个外部类对象,外部类对象.new 构造内部类对象
2、静态内部类
只能访问外部类的静态成员
构造静态内部类对象时,不再需要构造外部类对象
3、局部内部类
在外部类方法内定义的内部类
不仅能访问外部类的私有成员,而且还能访问外部类的局部变量,但是要求局部变量是final的
4、匿名内部类
局部内部类,用于实现一个借口或者继承一个类,只会构造一次
内部类的作用:
访问外部类的私有成员,不破坏封装。可以给编程带来一些方便
我们可以把接口公开,把接口的实现类以内部类的形式隐藏起来。强制用户通过接口来实现弱耦合
接口+内部类实现多继承


15.二、List接口的实现类
1、ArrayList
底层使用数组实现
2、Vector
ArrayList 轻量级 快 线程不安全
Vector 重量级 慢 线程安全的
3、LinkedList
底层使用双向循环链表实现
ArrayList 数组 查询快 增删操作慢
LinkedList 链表 查询慢 增删操作快 栈
使用组合复用实现栈

集合:用一个对象储存管理多个对象
Collection:元素都是对象
遍历:迭代遍历
List:元素有顺序,可以重复
遍历:还可以用for循环(下标)
排序:Collections.sort(list)
实现类:
ArrayList:底层数组实现,查询快,而增删慢;轻量级,线程不安全
Vector:底层数组实现,重量级,线程安全
LinkedList:底层链表实现,查询慢,增删快
在Java中用LinkedList实现一个栈,不用数组,因为栈的主要功能就是增删,数组慢;不用Vector,因为效率

Set:元素无序,元素内容不重复
SortedSet:按照各种排序规则给Set排序

实现类:
HashSet:采用哈希算法保证元素不重复,覆盖hashCode()保证哈希码相同,equals()保证true
TreeSet:元素一定要实现了Comparable接口的
根据排序规则,compareTo()返回0,说明是重复元素
Map:元素是键值对
key 无序,不重复 value 可以重复
SortedMap:按照key排序
遍历:values() 遍历所有的值对象
keySet() 遍历所有的键对象
实现类:
HashMap:线程不安全 , 允许null作为key和value
Hashtable:线程安全,不允许
TreeSet:SortedSet的实现类

 

 

 

三、多线程
▲ 初始状态 ▲阻塞状态 ▲终止状态▲ 可运行状态 ▲OS选中▲运行状态
实现线程代码的方式:
1、继承Thread 类,覆盖run()方法
去底层申请线程并运行,对线程对象调start()方法,main方法是一个主线程
宏观并行,微观串行
2、实现Runnable接口
使用多态获得Runnable对象,成为目标对象
再利用目标对象构造线程对象 Thread t = new Thread(target);

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值