Object类 常用API

1.Object类
             是所有类的直接或者间接的父类。他是所有类的基类
 
toString():(重点)
                 返回该对象的字符串表示。
  
   getClass().getName() + '@' + Integer.toHexString(hashCode());
  
  我们一般情况下,去定义一个类的时候都会重写Object类中的toString();
 
 重写toString方法
    alt + insert 选择toString
  如果一个类的对象,打印之后不是地址值,那么他肯定是重写了toString()方法,如果在本类中
  没有重新,那么肯定是他父类重写了。
 
     PS:当我们单独使用对象名的时候.会默认调用其toString方法(前提是在类中已经重写toString)
equals():只能用来比较地址值。(重点)
  比较两个对象是否相等。
  
如果我们不重写Object类中的方法,那么比较的是两个对象的地址值(使用的是==比较的)
   ==既可以比较基本数据类型,也可以比较引用数据类型。
    当比较基本数据类型的时候,比较的是值。
    如果比较的是引用数据类型,比较的是地址值。
     如果重写之后,我们比较的就是两个对象的属性值。
 重写equals方法
                   alt + insert 选择equals() and hashCode()
  System.out.println("判断对象me与对象me1属性是否相同:"+me.equals(me1));
  
getClass():
  获取的是该对象,在内存中的字节码文件对象。
  
  我们编写的代码分为几个阶段:
   源代码阶段  --> .java文件
    给我们程序员来用的,编写代码,修改代码。
    
   
   字节码阶段  --> .class文件
    就是给jvm用的。
    .class文件在哪? 在我们硬盘中
    jvm在哪? 当我们运行程序的时候,jvm会被加载到内存中。jvm在内存中。
    而我们.class文件是运行在jvm中的。
  
    一个.class文件在内存中,只能存在一份。
  
 
 补充:
  在一类中,什么东西能调用该类的方法。
   由该类创建的对象.
   如果这个方法是一个静态的,可以使用类名.方法名  来进行调用(推荐)。
  
二.Date类(重点)  --日期时间类
 java.util.Date 表示特定的瞬间 精确到毫秒
 1.Date date = new Date  得到的是当前时间精确到毫秒
   空参构造 Date date = new Date()
   带参构造 Date date = new Date(3600000)
 2.date.getTime()  时间 距离基准时间差的毫秒值--时间毫秒值
 
 成员方法:
  提供了一个 getTime() 把日期对象转换成对应的时间毫秒值
  
   void setTime(long time); //设置Date对象的时间
  
  
三.java.text.DateFormat
      表示 日期格式化的抽象类
        定义了Date与String的转换
        面向题:(重点)
            格式化  按照指定格式 将Date对象 转换成字符串
            解析    按照指定格式 将字符串解析成Date对象  
  
 构造方法:
  SimpleDateFormat(String str); (重点)
  在API中有详解
          y---年
          M---月
          d---日
          H---时
          m---分
          s---秒

  
 成员方法:
 
  A:格式化
     1. 首先获取当前时间对象
     2.其次创建一个指定了格式化标准的SimpleDateFormat对象
     3.调用format方法,完成Date对象转换成指定形式String对象
   public String format(Date date):将Date对象格式化为字符串。(重点)
   
  B:解析功能 
     在SimpleDateFormat构造中,完成标准的定义--和字符串一定要匹配用   .parse()方法
               1. 首先给出一个日期形式字符串
               2. 进行解析
               3.创建一个含有转换标准的日期格式化对象,规则和字符串规则一致 (此时编译不通过,创建一个说明)
   public Date parse(String source):将字符串解析为Date对象。(重点)
   
   注意:当我们解析一个字符串类型的日期的时候,必须要和SimpleDateFormat中的规则一样。
    如果不一样就会报错。
  
  
四:Calendar(日历)为抽象类
        由于语言敏感性,Calendar类在创建对象时并非直接创建,而是通过静态方法创建,返回子类对象,
 如下:(重点)
 方便我们获取时间属性的
 Calendar静态方法
    - public static Calendar getInstance():使用默认时区和语言环境获得一个日历  
  
 Calendar常用方法
   - public int get(int field):返回给定日历字段的值。
               获取一个日历类对象 Calendar c = Calendar.getInstance();
                获取一个年  :int year = c.get(Calendar.YEAR);
                获取一个月  :int month = c.get(Calendar.MONTH)+1;
                获取一个日  :int date = c.get(Calendar.DATE);
  
   - public void set(int field, int value):将给定的日历字段设置为给定值。
                   把之前的日历字段代表的值给覆盖掉
   - public abstract void add(int field, int amount):
                  根据日历的规则,为给定的日历字段添加或减去指定的时间量。
      
   - public Date getTime():返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象。 
                将一个日历对象转换成一个日期对象
                 Date date = c.getTime();
        --将Calendar转换成一个Date对象
   - void setTime(Date date) 使用给定的 Date 设置此 Calendar 的时间。
    c.set(Calecdar.YEAR,2019);  --将年份更改为2019年
                    获取一个日历类对象 Calendar c = Calendar.getInstance();
                    获取一个年  :int year = c.get(Calendar.YEAR);
                    获取一个月  :int month = c.get(Calendar.MONTH)+1;
                    获取一个日  :int date = c.get(Calendar.DATE);
  偏移
    c.add(Calendar.YEAR,+100);  年份向后偏移100年
    c.add(Calendar.YEAR,-100);  年份向前偏移100年
  
五:  java.lang.System类 定义了与系统相关的功能

    静态的
  主要的功能
    public static long currentTimeMillis():返回以毫秒为单位的当前时间。(掌握)
       System.currentTimeMillis();
    public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length):将数组中指定的数据拷贝到另一个数组中。  
             src    : 源数组
           srcPos : 源数组被复制的起始索引
            dest   : 目标数组
          destPos: 目标数组需要复制到的起始索引
           length : 复制元素的个数
 
六:java.lang.StringBuilder(重点)
       可变的字符序列,字符串缓冲区,可以理解为一个容器用来存放字符串的,提供了在自己空间中操作字符串的方法
       构造
                - public StringBuilder():构造一个空的StringBuilder容器。(空参构造)
                - public StringBuilder(String str):构造一个StringBuilder容器,并将字符串添加进去。(带参构造)
  StringBuilder常用方法:
   - public StringBuilder append(...):添加任意类型数据的字符串形式,并返回当前对象自身。
    可有返回值,返回的是自己本身,添加的操作都是在自身操作添加的
    任意的类型都可以参加
    添加进去的任何类型都会变成字符串类型
    sb.append("古力娜扎");   --添加了古力娜扎
    sb.append(1314);--添加了int类型的1314

   !!!!!  sb.append(123).append("哈哈哈").append("娜扎")-链式编程

    如果调用一个方法返回的是一个对象,那么就可以调用这个对象中的方法
   - public String toString():将当前StringBuilder对象转换为String对象。
    
     StringBuilder sb = new StringBuilder("Hello").append("World");
     String str = sb.toString();
  StringBuilder 和 String之间的相互转换:

   String --> StringBuilder
    通过StringBuilder(String s);
    通过  append(String s);
    
   StringBuilder --> String
    通过 StringBuilder中toString();
   
七:包装类
 针对于基本数据类型而言。有几个基本数据类型就对应有几个包装类。
 包装类的出现是为了更加方便的去操作基本数据类型。
 
 byte            Byte
 
 short          Short
 
 int              Integer
 
 long           Long
 
 float          Float
 
 double      Double
 
 char          Character
 
 boolean  Boolean
 
 
八.装箱与拆箱
                  基本类型 与 包装类 之间的转换
 装箱
                 基本类型  封装成  包装类型
 拆箱
                包装类    解析成   基本类型
注意!:基本类型只是能转换成对应的包装类(就是用来包装成基本类型)
例子:

 int a = 10;
 Integer c = Integer.valueof(a); //装箱
 Integer c = 20;
 int d = c.intValue();   //拆箱
如果是double类型改成double就行
自动装箱与自动拆箱
 Integer d = 10;   //自动装箱
 int   f = c;   //自动拆箱

基本类型与字符串之间的转换
基本类型转换成为String
                   (记住!)基本类型直接与""相连接即可;如:34+""
基本类型  ---- > 字符串  + ""
字符串    -----> 基本类型

                对应的包装类.parseXXX(String str)
 
 

猜你喜欢

转载自blog.csdn.net/snack_tc_dora/article/details/81037338