第六章 –– 常见类之Object和System

Object

1. object 所有的类都是直接过着间接的继承了 object 对象

2. hashCode 是通过对象的实际地址转换出来的数值(可能是物理地址, 也可能是虚拟地址或者说是线性地址), 他可以理解为内存的地址

课后总结

1:Eclipse的概述使用(掌握)

    请参照ppt和课堂练习.txt

    

2:API的概述(了解)

    (1)应用程序编程接口。

    (2)就是JDK提供给我们的一些提高编程效率的java类。

 

3:Object类(掌握)

    (1)Object是类层次结构的根类,所有的类都直接或者间接的继承自Object类。

    (2)Object类的构造方法有一个,并且是无参构造

        这其实就是理解当时我们说过,子类构造方法默认访问父类的构造是无参构造

    (3)要掌握的方法:

        A:toString()

            返回对象的字符串表示,默认是由类的全路径+'@'+哈希值的十六进制表示。

            这个表示其实是没有意义的,一般子类都会重写该方法。

            如何重写呢?过程我也讲解过了,基本上就是要求信息简单明了。

            但是最终还是自动生成。

        B:equals()

            比较两个对象是否相同。默认情况下,比较的是地址值是否相同。

            而比较地址值是没有意义的,所以,一般子类也会重写该方法。

            重写过程,我也详细的讲解和分析了。

            但是最终还是自动生成。

    (4)要了解的方法:

        A:hashCode() 返回对象的哈希值。不是实际地址值,可以理解为地址值。是获得的hash码可能相同

        B:getClass() 返回对象的字节码文件对象,反射中我们会详细讲解    

        C:finalize() 用于垃圾回收,在不确定的时间

        D:clone() 可以实现对象的克隆,包括成员变量的数据复制,但是它和两个引用指向同一个对象是有区别的。

    (5)两个注意问题;

        A:直接输出一个对象名称,其实默认调用了该对象的toString()方法。

        B:面试题 站在String类来看

            ==和equals()的区别?

            A:==

                基本类型:比较的是值是否相同

                引用类型:比较的是地址值是否相同

            B:equals()

                只能比较引用类型。默认情况下,比较的是地址值是否相同。

                但是,我们可以根据自己的需要重写该方法。

 

System

没什么好讲的, 唯一要注意的便是 

System的arraycopy 这个arraycopy 这个函数不符合命名规范, 但是没改过来, 因为是 jdk 1.0 的函数, 后面用了好多, 所以不能改

--------------------------------------------------------------------------------

public class SystemDemo

{

    public static void main(String[] args)

    {

        int arr[] = { 12345 };

        int arr2[] = { 20304050 };

        

        System.arraycopy(arr, 1, arr2, 22);

        

        System.out.println(Arrays.toString(arr));

        System.out.println(Arrays.toString(arr2));//  20 30 2 3

    }

}

 

 

System.exit 和 System.currentTimesMillis的应用场景

 

public class SystemDemo

{

    public static void main(String[] args)

    {

        long start = System.currentTimeMillis();

        for (int i = 0; i < 100000; i++)

        {

            System.out.println("hello" + i);

//          if (10000 == i)

//          {

//              System.exit(0);

//          }

        }

        long end = System.currentTimeMillis();

        System.out.println("当前程序耗费时间:  " + (end - start) + "毫秒");

    }

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值