20169221 2016-2017-2 《移动平台应用与开发》第四周学习总结

课本学习

十二章 枚举

1 enum方法:为字段发法穿件一组有效值java

packge app12;
public enum CoustomType{
    INDIVIDUAL,
    ORGANIZATION
}
package app2;/*能够像使用一个静态类同样使用enum常量*/
public class Coustomer{
  public Sring customerName;
  public CustomerType customerName;
  public string addresss;
}

在保证变量被赋给一个有效值的方面,enum比静态final要好。数据库

static final 和enum区别

Enum(枚举):编程

public enum Color {
RED(1),
BLUE(1),
GREEN(1),
BLACK(1);
private int a ;
private Color(int a){this.a=a}
}数组

一、用途:用于表示一组相同类型的常量安全

二、与普通 public static final 常量比较数据结构

public static final RED=1;app

public static final BLUE=2;框架

public static final BLACK=3;函数

相比上面的常量,枚举就有更加直观的功能描述学习

通常的switch是不能用string进行比较的,可是有时候咱们的参数又是string类型的,由于switch能够支持普通类型和枚举enum型的参数

因此咱们能够用string的参数来创建一个enum类进行判断。

public enum A {
B("DAD"),
C("DADA"),
D("DAD"),
E("A");
private String a ;
private Color(string a){this.a=a}
}
switch(Transformation(“dada”)){
case B:
break;
case C:
break;
}

transformation方法:
public A Transformation(string value){
for(A a:EnumSet.allof(A.class)){
if(a.toString.equals(value)){
return a;
}
return null;
}
}
Final:
一、final类
做用:类不能够被继承,在设计类时候,若是这个类不须要有子类,类的实现细节不容许改变,而且确信这个类不会载被扩展,那么就设计为final类。
二、final方法
做用:
一、把方法锁定,防止任何继承类修改它的意义和实现
二、高效。编译器在遇到调用final方法时候会转入内嵌机制,大大提升执行效率
三、若是一个类不容许其子类覆盖某个方法,则能够把这个方法声明为final方法
三、final变量
用final修饰的成员变量表示常量,值一旦给定就没法改变!
Static:
一、static变量:
static修饰的成员变量和成员方法独立于该类的任何对象,它不依赖类特定的实例,被类的全部实例共享。只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们,所以,static对象能够在它的任何对象建立以前访问,无需引用任何对象。
二、static代码块:
static修饰的代码块表示静态代码块,当Java虚拟机(JVM)加载类时,就会执行该代码块
三、static方法:
静态方法中不能用this和super关键字(静态方法是属于类的,静态方法加载时,对象还不必定存在,this和super表明是分别是对象的引用和对象父类的引用),static方法独立于任何实例,所以static方法必须被实现,而不能是抽象的abstract。
2 定义一个enum类时,enum具备以下属性

  • 没有公有构造函数
  • 隐式是静态的
  • 每一个enum常量只有一个实例
  • 能够在一个enum上调用values方法,以遍历枚举值,在对象上调用getClass().getName(),将返回enum的Java彻底限定名称
  • 能够在values所返回的对象上调用name和ordinal方法,以分别获取该实例的名称和排序值。

十三章 操做日期和时间

1 instant类:instant对象表示时间线上的一个时间点。引用的时间点是一个标准的java新纪元
2 LocalDate类:建模了没有时间部分的日期。getDayOfMonth、getMonth等方法用于获取一个LocalDate、他们不接受任何参数并返回一个int类型或者一个常量。
最好使用getMonth和getYear等方法获取LocalDate的一部分,而不是get由于并非全部常量都支持。
3 Period类:基于日期的一个时间量。一个Period是不可变的。
4 LocalDateTime:建模了一个没有时区的日期时间。
建立一个LcoalDateTime表示日期

LcoalDateTime ednOfYear=LcoalDateTime.of(2015,12,31,8,0)

5 时区数据库下载网址:http://www.iana.org/time-zones
6 ZoneDateTime类:表示又时区的日期时间,是不可变的,按照秒精度储存的。now的无参数覆盖形式。of也有几种覆盖形式,都须要传入一个时区标识符。
7 Duration类:基于时间的时间段,与Period区别是它能够精确到纳秒
8 若是有了一个Date对象,能够用SetTime方法来构造一个Calendar对象。
9 在使用DateFormat解析和格式化的时候,要注意宽松性,即指在解析时是否执行严格的规则。ps:jan 32 2016

十四章 集合框架

1 集和框架提供了一种方法存储、访问、操做其余元素。
2 Collection接口是处理对象集合的根接口,其中定义了不少对元素进行操做的方法,AbstractCollection是提供Collection部分实现的抽象类。
3 List接口扩展自Collection,它能够定义一个容许重复的有序集合,从List接口中的方法来看,List接口主要是增长了面向位置的操做,容许在指定位置上操做元素
4 它是用数组存储元素的,这个数组能够动态建立,若是元素个数超过了数组的容量,那么就建立一个更大的新数组,并将当前数组中的全部元素都复制到新数组中。
5 HashSet是一个用于实现Set接口的具体类,可使用它的无参构造方法来建立空的散列集,也能够由一个现有的集合建立散列集。
6 Collection 接口的iterator()方法返回一个 Iterator。Iterator接口方法能以迭代方式逐个访问集合中各个元素,并安全的从Collection 中除去适当的元素。
7 Set不容许有重复的内容
8 队列是一种先进先出的数据结构,元素在队列末尾添加,在队列头部删除。Queue接口扩展自Collection,并提供插入、提取、检验等操做。
9 方法offer表示向队列添加一个元素,poll()与remove()方法都是移除队列头部的元素,二者的区别在于若是队列为空,那么poll()返回的是null,而remove()会抛出一个异常。方法element()与peek()主要是获取头部元素,不删除。
10 Map,图,是一种存储键值对映射的容器类,在Map中键能够是任意类型的对象,但不能有重复的键,每一个键都对应一个值,真正存储在图中的是键值构成的条目。
11 Map保存了键到值的映射,不能有重复元素,每一个键最多映射一个值。 键和值在调用put方法前会先进行装箱操做。
12 接口Map提供了不少查询、更新和获取存储的键值对的方法,更新包括方法clear()、put()、putAll()、remove()等等,查询方法包括containsKey、containsValue等等。Map接口经常使用的有三个具体实现类,分别是HashMap、LinkedHashMap、TreeMap。
13 HashMap是基于哈希表的Map接口的非同步实现,继承自AbstractMap,AbstractMap是部分实现Map接口的抽象类。
14 引用对象不包含操做对象,而是包含对象在内存中的地址。
15 Elephant类:由编写者决定排序.可使用Arrys.sort或Collections.sort来排序Elephant对此昂的数组或者list。

编程实践截图

进度条

学习到第十四章

相关文章
相关标签/搜索