美文网首页
3/6day04_常用API(时间相关)

3/6day04_常用API(时间相关)

作者: 蹦蹦跶跶的起床啊 | 来源:发表于2020-03-06 15:31 被阅读0次

回顾

1.多态
    多态: 一个对象可以有不同的形态
    比如:
        Animal an = new Dog();
        Animal an = new Cat();
    前提:
        a.继承关系或者实现关系
        b.要有方法的重写
    表现形式:
        父类类型/接口类型 变量名 = new 子类()/new 实现类();
    好处:
        提高代码的扩展性(喂猫喂狗案例)
    弊端:
        多态的情况,只能调用子父类共有的方法,无法调用子类特有的方法
    解决弊端的方案:
        向上转型:
            Animal an = new Dog();
        向下转型:
            Dog d = (Dog)an;
            Cat c = Cat(an);
    关键字:
        boolean b = an instanceof Dog
2.内部类
    重点介绍匿名内部类:
        父类/接口 变量名 = new 父类/接口(){
            重写父类或者接口中所有的抽象方法
            //特有方法
            public void show(){
                ....
            }    
        };
    问题:
        如果匿名内部类中,有特有方法.我们怎么向下转型来调用它??
        是无法向下转型(因为匿名内部类没有类名)    
    结论:
        如果想使用匿名内部类,就不要在{}中写特有方法
    
3.权限修饰符
     public protected 空的 private
     public:修饰成员方法和构造方法       
     private:修饰成员变量
4.代码块  
     代码块: 就是使用大括号括起来的一句或者多句代码
     构造代码块:
        {
            构造代码块
        }
        执行: 每次创建对象时,构造代码块都会执行,优先于构造方法执行
     静态代码块:
        static{
            静态代码块
        }
        执行:第一加载该类时,静态代码块会执行一次,优先于构造方法执行的

今日内容

  • Object类
  • 时间日期类
  • Math类
  • System类

Object类(重要)

介绍

Object类 是所有类的父类, 所有对象(包括数组,包括自己写的类)都具有该类的11个方法.

toString方法

  • 作用: 返回该对象的字符串
  • 默认返回形式:对象的类型名+@+内存地址值。
  • 实际开发中, 通常重写toString方法,为了将返回地址改为返回内容.
    快捷键: alt+insert

注意事项
重写了toString之后, 当调用对象的toString方法时,返回的是重写的方法即具体的属性值.
实际上不用手动调用toString方法
如:

Dog d = new Dog();
String s = d.toString()
sout(s)
上下两个代码结果一样
Dog d =  new Dog();
sout(d)//此处编译器省略了d.toString

equals方法

  • 作用: 调用成员方法equals并指定参数为另一个对象,则可以判断这两个对象是否是相同的。这里的“相同”有默认和自定义两种方式。

  • 默认比较: equals方法在Object类中写的是默认比较的两个对象的地址值(即默认使用"=="运算符比较)

  • 实际开发: 需要重写Object类的equals方法,用来比较两个对象的内容是否相同而不是地址值.
    快捷键 alt+insert

native本地方法

在Object类的源码中定义了 native 修饰的方法, native 修饰的方法称为本地方法。

  • 本地方法的作用: 就是Java调用非Java代码的接口。方法的实现由非Java语言实现,比如C或C++。
  • 当我们需要访问C或C++的代码时,或者访问操作系统的底层类库时,可以使用本地方法实现。也就意味着Java可以和其它的编程语言进行交互。

扩展(equals 和 == 的区别)

对于基本类型:
== 比较基本类型的数值
equals 没有该方法(基本类型又不是一个类)

对于引用类型:
== 比较引用类型的地址值
equals 默认比较地址值,如果子类重写了,按照重写规则比较(一般用来比较内容)

Objects类

Objects类, 我们称之为工具类(其内部所有的方法都是静态的)
在所有对象中 使用编译器 重写的父类Object类的equals方法中 使用了 Objects类中的equals静态方法.
此类中的equals方法, 多了一步判断空指针异常

Date类(重要)

介绍

  • 位于包: java.util.Date(不是java.sql.Date中)
  • 作用: 代表某个时间点,可以精确到毫秒

构造方法

  • 无参构造:
    public Date(); 创建一个Date对象,代表当前的时间
    sout(new Date());返回的是当前的时间. 此处 编译器省略了 new Date().toString 在Date类中, 已经重写了 toString方法,
  • 有参构造
    public Date(long millis); 代表距离标准时间 millis 毫秒后的时间

Date类的常用方法

  • public long getTime() 把日期对象转换成对应的时间毫秒值(获取的是日期对象从1970年1月1日 00:00:00到现在的毫秒值)。
  • public void setTime(long time) 把方法参数给定的毫秒值设置给日期对象
  • toString() 此类中重写了toString()方法, 返回的是美国格式的日期
  • toLocaleString(), 依赖运行程序的操作系统,是用的是中文操作系统,因此返回的是中文格式的日期

DateFormat类(抽象类)(重要)

其子类(SimpleDateFormat)作用

  • 作用:可以是Date对象和String对象之间来回转换
  • 格式化: Date对象 转成 时间字符串
  • 解析: 时间字符串 转回 Date对象

构造方法

由于DateFormat为抽象类,不能直接使用..所以需要常用的子类 java.text.SimpleDateFormat

  • public SimpleDateFormat(String pattern) :用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat。参数pattern是一个字符串,代表日期时间的自定义格式。


成员方法

  • public String format(Date date) :将Date对象格式化为字符串。
  • public Date parse(String source) :将字符串解析为Date对象。

Calendar类(抽象类)(理解)

介绍和获取对象方式

  • 作用:表示某个时间点,可以进行日期计算
  • 获取对象方式:
    1.创建其子类的对象(这个不方便,所以不使用)
    2.使用其Calendar的静态方法
    Calendar c = Calendar.getInstance();//此方法创建一个Calendar子类对象,返回

注意
在Calendar类中, 月份是(0-11)代表我们的(1-12)

常见方法

  • public int get(int field) 获取日历对象中某个成员变量的值, 其中参数代表该成员变量的编号(在Calender类中将这些编号 定义成了 静态常量如year,month等)

  • public void set(int field,int value)
    修改在编号处(可用Calendar定义好的的静态常量表示编号),为值 value. 如果说更改的值超过了年月日应有的范围, 则会按照年月日进一

  • public void add(int field,int amount) 增加编号处(可用Calendar定义好的的静态常量表示编号), 在原有基础上增加 amount的值

注意事项
1.Calendar类中的month是(0-11如同索引)
2.时间日期,拥有大小之分, 时间越靠后,越大(明天比今天要大)

Math类

介绍

Math中主要包含了一些数学运算的方法
该类中的方法都是静态方法 可以直接通过类名.方法名来调用. 因此将其作为工具类

常用方法


向上取整, 只要有小数, 就进一
四舍五入只看小数第一位

System类

介绍

类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作.
不能被实例化 因为其构造方法为私有

常用方法

  • public static void exit(int status) 终止当前运行的 Java 虚拟机,参数值为非零表示异常终止,参数值为0 表示终止

  • public static long currentTimeMillis() 返回当前时间(以毫秒为单位)距离基准时间的毫秒值
    此方法可以只用来计算一段代码运行时间长短

今日总结:

1.Object
    所有类父类
    toString: 默认返回对象的字符串表示,包名.类名@地址值
              开发中我们会重写toString,返回对象的内容(alt+insert自动生成)
              注意: 实际上我们不需要手动调用toString方法,
                    因为我们在使用对象时,编译器会自动调用toString()方法
    equals: 默认比较两个对象的地址值
            开发中我们也会重写equals,比较两个对象的内容(属性值)
2.Date和DateFormat
     构造方法
      public Date(); // 当前系统时间
      public Date(long millis); //距离基准时间milllis毫秒后的那个时间
    成员方法
      public long getTime();//获取当前Date对象距离基准时间的毫秒值 
      public void getTime(long millis);//修改当前Date对象距离基准时间的毫秒值
    
SimpleDateFormat(子类) extends DateFormat(抽象类)
         
 构造方法:
    public SimpleDateFormat(String 模式/格式); //模式 "yyyy-MM-dd HH:mm:ss"
             
 成员方法:
    格式化: public String format(Date date);
    解 析: public Date parse(String time);

3.Calendar
     获取对象:
        Calendar c = Calendar.getInstance();//返回Calendar的子类对象
     成员方法:
        public void get(int field);
        public void set(int field,int value);
        public void add(int field,int value);
4.Math
    Math类中方法都是静态的
    public static double abs(double d);
    public static double ceil(double d);
    public static double floor(double d);
    public static long round(double d);
    public static double pow(double d1,double d2)
        
6.System
    System类中方法都是静态的    
    public static void exit(0);//退出JVM
    public static long currentTimeMillis();//获取当前时间的毫秒值(用于计算某段代码的运行时间)

相关文章

  • 3/6day04_常用API(时间相关)

    回顾 今日内容 Object类 时间日期类 Math类 System类 Object类(重要) 介绍 Object...

  • runtime02-常用API

    runtime常用API runtime API01-类相关 runtime API01-类相关-事例01 run...

  • Jackson

    基础 jackson-core 相关知识 常用相关API 实际工作相关

  • vue常见函数大全*基础

    VUE.JS常用函数大全 1、目录记忆 2、安装相关 3、内部指令 4、全局API 5、reverse() ; 数...

  • 3、常用API

    一、String类 1、String类概述 a、String 类适用于描述字符串类型的事物,字符串一旦被建立,就不...

  • Paint Canvas高级绘制-Paint

    概念 画笔,保存了绘制几何图形、文本和位图的样式和样色信息 常用API 常用API主要如颜色,效果和文本相关等 字...

  • Runtime 相关 API

    以下列举了使用 Runtime 时常用到的 部分API ,并非全部 Runtime 类 相关 API动态创建一个类...

  • Runtime相关API

    类相关API 属性相关API 成员变量相关API 方法相关API

  • Android canvas 基础图形详解

    一:canvas的常用方法 操作类型相关API备注绘制颜色drawColor,drawRGB,drawARGB给画...

  • 常用css3相关api总结

    css3 边框 一、css3边框圆角效果 border-radius border-radius好可以是百分比或...

网友评论

      本文标题:3/6day04_常用API(时间相关)

      本文链接:https://www.haomeiwen.com/subject/vqqvrhtx.html