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


    课本学习

    十二章 枚举

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

    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}
    }

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

    2、与普通 public static final 常量比较

    public static final RED=1;

    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:
    1、final类
    作用:类不可以被继承,在设计类时候,如果这个类不需要有子类,类的实现细节不允许改变,并且确信这个类不会载被扩展,那么就设计为final类。
    2、final方法
    作用:
    1、把方法锁定,防止任何继承类修改它的意义和实现
    2、高效。编译器在遇到调用final方法时候会转入内嵌机制,大大提高执行效率
    3、如果一个类不允许其子类覆盖某个方法,则可以把这个方法声明为final方法
    3、final变量
    用final修饰的成员变量表示常量,值一旦给定就无法改变!
    Static:
    1、static变量:
    static修饰的成员变量和成员方法独立于该类的任何对象,它不依赖类特定的实例,被类的所有实例共享。只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们,因此,static对象可以在它的任何对象创建之前访问,无需引用任何对象。
    2、static代码块:
    static修饰的代码块表示静态代码块,当Java虚拟机(JVM)加载类时,就会执行该代码块
    3、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。

    编程实践截图

    进度条

    学习到第十四章

  • 相关阅读:
    CSS3笔记
    HTML5新标签
    前端工程师面试题JavaScript部分(第五季)
    前端工程师面试题JavaScript部分(第四季)
    前端工程师面试题JavaScript部分(第三季)
    前端组件开发方式(二)
    前端组件开发方式(一)
    面向对象的代码研究(一)
    ServiceDemo,ClientDemo Socket chat
    Socket(java基础)
  • 原文地址:https://www.cnblogs.com/sunxing/p/6602574.html
Copyright © 2020-2023  润新知