接口:都是抽象方法
语法:
[修饰符] interface 接口名 extends 父接口1, 父接口2... {
0-N 个常量;
0-N个抽象方法;
}
- 1
- 2
- 3
- 4
- 5
- 6
接口的继承:
接口的继承和类的继承不一样,接口支撑多继承,使用 extends 关键字,之间用逗号隔开,继承的内容包含了,常量和方法。
接口的使用:
语法:
[修饰符:public、final] class 类名 extends 父类 implements 接口1,接口2...{
....
}
- 1
- 2
- 3
- 4
- 5
接口和抽象类:
相同点:
- 都不能被实例化,位于继承树的顶端,是用于被其他类继承或者实现的;
- 都包含抽象方法,子类都必须要实现抽象方法;
不同点:
- 抽象类中可以定义普通方法,但是接口中都是抽象方法和静态变量;
- 在抽象类是可以定义静态方法的,接口中不能定义静态方法的;
- 在抽象中可以定义构造器的,但是在接口中是不存在构造器这个概念的;
- 一个类最多只能有一个直接的父类或者抽象类,但是可以有多个接口的实现。
集合框架:Collection,Map
区别数组:只能存储对象,长度可变。
Collection:存放元素
实现类ArrayList
插入元素:add()
遍历元素:for循环,foreach,迭代器其中需要删除 元素需要使用迭代器删除
Map:存放key-value值
实现类HashMap
插入:put()
遍历 Map 结构
获取 Map 的 Key 集合,通过遍历 Key 集合,获取 Value 值。
1. 获取 key 集合:map.keySet();
2. 遍历 Key 集合:iterator;
3. 获取 Value 值:get(key);
Object类:
toString:直接打印对象调用该方法
hashCode():返回该对象的哈希码值,内存地址。
String类:
构建方式:
String s1 = new String("hello");
char[] cs = {'h','e','l','l','o'};
String s2 = new String(cs);
String s3 = "hello";
- 1
- 2
- 3
- 4
- 5
常用方法:
charAt():索引处的字符
replace()::替换
split()::字符串根据出入的参数转化为数组
indexOf()::第一次出现某字符串或字符的索引
substring()::根据出入的参数取字符串
contains()::判断是否包含
StringBuffer类:
比String类拼接要快,创建:StringBuffer sb = new StringBuffer("");
- 1
Date类:
Date类型格式化,使用SimpleDateFormat类。
format():格式化Date类型
parse():解析类Date类型
Calendar类用于日期处理
setTime(date):Date类型转为Calendar类
getTime():Calendar类转为Date类
add():添加天数月份等;
set():用于设置
异常处理:
try…catch…finally
throws:抛出异常
单例模式:一个类只有一个对象
私有化构造器,创建方法获取已定义的对象。