本帖最后由 小石姐姐 于 2018-11-16 10:45 编辑
随堂小记 Object类 是语言的根类,所有类的父亲,描述的所有方法子类都能使用 1. 如果没有继承就默认继承了Object类,可以使用父类的tostring方法 2. 直接打印对象名p=p.tostring方法(没有重写)就是打印他们的地址值是一样样的 3. 直接重写tostring方法 快捷键
Object类equals方法 1. 指示其他某个对象是否与此对象“”相等“” 2. 格式:boolean equals(Object obj) 3. 现实格式 Boolean b=p1.equals(p2);返回的是一个boolean值 4. 比较的是两个数的地址值都在堆中 5. 重写equals方法比较属性 6. 隐藏一个多态的弊端解决方法可以强转把Object类转成Preson类 7. 使用equals快捷方法建重写方法
Objects类 1. 格式 Boolean b=Objects.equals(s1 ,s2) 2. 两个对象相比 防止空指针异常 3. Null不能调用方法
Date类 1. uttil包下 使用时需要导报 2. 表示特定的瞬间,精确到毫秒 1000毫秒=1秒 毫秒是一个long值 3. 作用对时间和日期进行计算 日期转换为毫秒进行计算 算完在返回其 4. 获取当前时间到1970年1月1日用了多少毫秒System.currentTimeMillis 直接输出表达就可以 5. 一天=24成60成60成1000=86400000 6. 当前日期 Date d = new Date; 空参的方法 记得导包 7. Date带参数的构造Date(long date)传递的是毫秒值转换为日期 8. Date d1=newDate(0L); 带参数的构造 也是快捷键 9. Date类的成员方法 Long get.time()把日期转换为毫秒 10. Date.getTime 获取当前系统时间的毫秒值 11. Set.time 修改当前时间对象
DateFormat类 1. 日期格式 日期—>文本 2. 日期解析 文本à日期 3. DateFormat是一个抽象类 可以直接使用SimpeDateFormat 4. 构造方法 SimpeDateFormat(Stringpattern)传递指定格式 yyyy-MM-dd HH-mm-ss yyyy年MM月dd日HH时mm分ss秒 5. Date pares(String source)把符合模式的字符串解析为Date日期 6. 使用 7. 创建SimpleDateFormat对象 构造方法中传递模式 8. 调用SimpleDateFormat下面的Dateformat按照构造的方法 吧符合的模式转成文本
1. 创建对象SimpleDateFormat 2. 调用方法 pares 写完有红色的线 是正常的 说明一下 alt+回车 声明一下就可以了
Calendar 类 获取Calendar对象 Calendar类的常用成员方法:
public int get(int field):返回给定日历字段的值。
public void set(int field, int value):将给定的日历字段设置为给定值。
public abstract void add(int field,int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量。
public Date getTime():返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象。
成员方法的参数:
int field:日历类的字段,可以使用Calendar类的静态成员变量获取
public static final int YEAR =1; 年
public static final int MONTH =2; 月
public static final int DATE =5; 月中的某一天
public static final intDAY_OF_MONTH = 5;月中的某一天
public static final int HOUR =10; 时
public static final int MINUTE =12; 分
public static final int SECOND =13; 秒 1. Calendar是个抽象类里面有很多操作日历的字段 2. 无法创建对象,通过里面的一个静态方法getInstance用多态直接调用,Calendar.getInstance 其返回值就是一个子类 然后再用子类的点get参数直接放Calendar.YEAR Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
System.out.println(year); 3. 获取月份注意西方的月份是0到11月 可以在月份后面加1 4. 设置set方法c c.set(Calendar.YEAR,9999); 5.还有一个set 的重载方法可以添加年月日三个元素 c.set(8888,8,8); 6.add 把指定的字段增加减少指定的值 //把年增加2年
c.add(Calendar.YEAR,2);
//把月份减少3个月
c.add(Calendar.MONTH,-3); 7.get.time 把日历改成日期表达出来
System类 1. long包无需导包 2. 方法有两个 3. public static longcurrentTimeMillis():返回以毫秒为单位的当前时间。
private static void demo01() {
//程序执行前,获取一次毫秒值
long s = System.currentTimeMillis();
//执行for循环
for (int i = 1; i <=9999 ; i++) {
System.out.println(i);
}
//程序执行后,获取一次毫秒值
long e = System.currentTimeMillis();
System.out.println("程序共耗时:"+(e-s)+"毫秒");//程
4. 一般用于测试程序运行循环时间,System. currentTimeMillis()返回一个long的类型
public static void arraycopy(Object src, int srcPos, Object dest, int destPos,int length):将数组中指定的数据拷贝 参数:
src - 源数组。
srcPos - 源数组中的起始位置(起始索引)。
dest - 目标数组。
destPos - 目标数据中的起始位置。
length - 要复制的数组元素的数量。 Collectoin 单列集合 集合和数组的区别 1. 数组的长度是固定的 2. 集合的长度可以变化 3. 数组储存同一数据类型 基本数据类型引用数据类型 4. 集合存储的是对象,对象类型可以不一样 只能存储引用类型,可以是多种类型元素。
List集合特性共性向上抽取(Vector/ArrayList/LinkeList) 1. 有序的集合 2. 允许重复的元素 3. 有索包含一些带索引的方法
Set接口 1. 不允许重复元素() 2. 没有索引值
最顶层clloection 接口 1. 不包含带索引的方法 2. 所有单列集合的共性方法 3. 所有的单列集合都可用
1. Colletion<String>coll=new ArrayList<>(); 多态表达 2. Boolean b=coll.add(“张三”) 添加张三 3. System.out.println(b) 返回时boolean值
1. Boolen b1=coll.remove(“张三”) 2. 集合存在删除返回对的 3. 没有返回错的 4. 集合中有相同的元素只删除第一个
1. Boolean b2=coll.contains(王五) 判断是否包含前面要有boolean 判断对错 2. 包含返回对 没有就返回错
3. Boolean b2=coll.isEmpty(王五) 4. 判断是不是空集合 5. Coll.size 6. 显示集合的个数 Object[] arr = coll.toArray();
for (int i = 0; i < arr.length; i++) {
System.out.println(arr);
} 7. : 把集合中的元素,存储到数组中便利集合 遍历一遍 8. Coll.clear 9. 清空集合 迭代器通用集合 遍历集合 Iterator接口 有泛型使用的方法 1.使用集合方法,iterator()得到对象Iterator 是个多态 2.boolean hsNext() 是否达到集合末尾是返回false 否则返回true 3.E next() 取出集合中的元素
// 使用迭代器遍历集合的标准写法: Iterator<元素类型> iterator = 集合对象.iterator(); while (iterator.hasNext()) { 元素类型 变量名 = iterator.next();
迭代去器的并发修改异常 两个事情一起发生 1. 迭代 2. 修改集合长度
增强for循环底层要是迭代器,使用for循环的格式简化了迭代器的书写 不能对集合中的元素进行增删 所有collection 都能使用 缺点没有索引值 遍历数组 遍历集合 遍历完了底层不一样 private static void demo01() {
int[] arr = {1,2,3,4,5};
for(int i:arr){
System.out.println(i);
}
}
泛型 1. 泛型可以看做一种未知的数据类型 2. 泛型可以看成变量用来接收数据类型 3. 创建集合对象的时候就会确定数据类型
好处集合不使用泛型默认为是obj类型什么类型都能装下 坏处:会出异常 好处: 1. 避免了类型的转换麻烦,存储的什么取出来就是什么 2. 把运行期异常提前到了编译时期 3. 泛型什么类型就是什么类型不是相同类型不能添加
泛型域接口 1.“定义实现类”,确定泛型的具体类型就是一开始定义的时候写 2.接口使用什么泛型,实现类就是用什么泛型,类跟着接口走
泛型通配符 1. 代表任意的数据类型 2. 不能常见对象使用,只能作为方法的参数使用,定义一个能遍历所有类型的Arraylist集合
3. 泛型没有继承概念
|