java基础数据类型
bollean 1
char 2
byte 1, short 2 , int 4, long 8
float 4, double 8
-----------------------------------------------------
java 四大特征
抽象,封装,继承,多态
----------------------------------------------------
override 和 overload
override(重写):子类重写父类方法体,方法名,返回值,参数不变。
overload(重载):方法名相同,参数不同(类型,数量)。
-----------------------------------------------------
抽象类 和 接口
抽象类:类中含有(abstract)标记的抽象方法,必须是(abstract)标记的抽象类,但抽象类中可以没有抽象方法。
接口:由抽象方法和常量的集合。接口中都是public方法和final常量。
-----------------------------------------------------
继承(extends) 和 实现(implements)
继承:子类继承父类可以获得父类的 非私有(private)属性和方法,可以重写父类的成员方法;
构造方法不能继承,若想调用父类的构造方法可以 super(),有参数可以添加参数。
实现:子类必须重写接口的所有方法。
------------------------------------------------------
static静态代码块 和 static 关键字
static静态代码块: 当一个类被加载的时候,首先加载静态代码块。一个类的静态代码块只能使用一次。
static 关键字:被 static 修饰的变量是全局变量,每个对象都可以使用同一个;
static 修饰的方法可以用 类名.方法名调用,static 方法可以调用成员方法,成员方法不能调用 static 方法,static 方法只能使用 static 标记的全局变量。
--------------------------------------------------------
修饰符
本类 | 同一个包 | 子类 | 其他包 | |
public | Y | Y | Y | Y |
protect | Y | Y | Y | |
default | Y | Y | ||
private | Y |
--------------------------------------------------------
String 和 StringBuffer
String:不可变的字符串。
StringBuffer:字符串是可变的。
-------------------------------------------------------
数组
数组:同类型的数据存放在一起的组合,数组长度固定不可更改。
-------------------------------------------------------
集合
常用:list,set,map
list:有序排列可以重复
set:无序排列不可重复,只能一个null,(排序方式Hash表)
map:键值对组合,键不可重复,值可以重复,(Hash表排序)
--------------------------------------------------------
Thread 类 和 Runnable 接口
Runable 接口:Runnable 只提供一个方法 run()。
Thread 类:Thread 类继承 Runnable 接口。
线程开启:使用 对象.start()方法开启线程,线程开启后调用run()方法。
-------------------------------------------------------
synchronize 进程同步锁
进程同步 : 当 synchronize 标记一个方法或者代码块时,次方法或代码块在同一时间内只能有一个线程访问,只有当前线程释放锁后其他线程才能访问。
-------------------------------------------------------
yield() 和 join()
yield():暂停当前线程转而执行其他线程。
join():t.join()暂停当前线程转而执行 t 线程,当 t 结束后继续执行。
-------------------------------------------------------
wait() 和 notify() ,notifyAll() 和 interrupt()
wait():使当前线程转为等待状态,等待状态会释放进程同步锁,等待状态后可以被notify()或者 notifyAll()唤醒,唤醒后从等待出继续运行。
notify():随机唤醒一个同锁的等待进程。
notifyAll():随机唤醒所有同锁的等待进程。
interrupt():线程.interrupt() 将线程从 sleep(),wait(),join()状态转换成中断状态并抛出异常。
------------------------------------------------------
内部类
静态内部类:创建在类中的类,static 修饰,只能调用外围类的静态属性和方法。
成员内部类:创建在类中的类,不能使用 static修饰符。
匿名内部类:在方法中直接创建一个对象。
局部内部类:创建在方法体中的类,没有修饰符,只能访问 final 修饰的常量。
-----------------------------------------------------