学习Java第三天
这里加上我对类,抽象类以及接口的理解
所谓类,如同儿子这个类,包括的就是所有能被称为儿子,并且具有儿子这个类属性和方法的实体,所谓实体就是真实存在的事物
所谓抽象类,其实是半抽象的,包括的是所有能被称为儿子,并且具有实例属性和静态属性以及抽象方法的类(本质上还是类),静态属性即类共有的属性(下面解释),我的理解是抽象的集合,比如大儿子和小儿子的集合(不是实体,只是称谓)
所谓接口,好比餐馆中一张菜单,上面的菜品就是没有方法体的方法,顾客点菜好比调用这个方法,厨师炒菜好比实现这个方法
所谓静态属性,即类所共有的属性,比如青少年这个类所共有的属性就是帅,如果变成了丑,那么所有青少年都将变为丑
再谈谈属性和方法,所谓属性,即物体所具有的的某种性质,比如蓝色水杯具有的性质蓝色,柱状就是水杯的属性,再谈方法,所谓方法,就是动作,比如狗会汪汪叫,人会说话,鸟会飞就是这些实体的方法
一、java基础类库
1.Math类与Random类
开头第一行引入lang包 Java.lang.Math
方法
1.int abs(int a)
2.double ceil(double a)
3.double floor(double b)
4.int max(int a, int b)
5.int min(int a, int b)
6.random() (返回0.0 到 1.0之间的随机数,包括0.0,不包括1.0)
7.long round(double a)
8.double sqrt(double a)
9.double pow(double a, double b)
1.开头第一行引入util包 java.util.Random
1.Random与Math类中的random方法的区别是,Random类还能生成浮点随机数
1.double nextFloat()
2.double nextDouble()
3.int next()
4.int next(int n) (依据传入参数n取值,取0~n之间的均匀分布随机数)
二、日期操作类
1.Date类
构造方法可以传入long类型的参数,表示从格林尼治标准时间也就是1970年1月1号0点开始到现在的总毫秒数
2.Calendar类
属于抽象类,内部有许多抽象方法与final常量
final常量
1.YEAR 2.MONTH 3.DAY_OF_MONTH 4.HOUR_OF_DAY 5.MINUTE 6SECOND 7.MILLISECOND
抽象方法
1.int get(int field) //返回给定常量的值
2.static Calendar getInstance() 获得一个日历
3.DateFormat类
默认格式化和中文格式化两种
导入text包中的DateFormat类
用DateFormat类方法获取一个日期格式器,再调用格式器的格式化方法格式化Date类
4.SimpleDateFormat类
获取特殊日期显示格式
三、JDK7.0新特性 switch支持字符串类型选择
原来switch支持的有byte,short,int,char.enum
二、集合类
1.List接口
ArrayList集合是一个数组队列,相当于动态数组,提供了添加,删除,修改,遍历等功能
1、void add(int index, object element) 添加方法
2、Object remove(int index) 删除方法
3、Object set(int index, Object element) 修改方法
4、Object get(int index) 得到index处的元素
5、int indexOf(Object o) 返回集合中第一次出现o的索引,若集合中不包含则返回-1
2.ArrayList在处理增加和删除操作时效率较低,可以使用LinkedList,底层基于双向循环链表,且头结点无数据
1.void add(int index,Object o)
2.addFirst(Object o) 和 addLast(Object o)
3.getFirst() 和 getLast()
4.removeFirst()和removeLast()
3.遍历集合 Iterator接口
通过Collection接口中的iterator方法得到迭代器对象
4.foreach循环 (增强for循环)
既能遍历集合,又能遍历普通数组
foreach循环有个缺点,只能访问,不能修改数组或集合中的元素