java基础复习(十)

java基础第十天

eclipse的使用-------好像不用看,不过浏览一下吧。

.class文件在保存的时候就已经开始编译了。

常见API 应用程序编程接口

文档说明书

Java API就是java提供给我们使用的类,这些类将底层的实现封装了起来。

我们不需要关心这些类是如何实现的,只要知道如何使用就可以。(学到一定程度是要看的)

Object类

Object类是最底层的类,是所有子类的父类或者间接父类。

常见对象Object类的Hashcode 返回该对象的哈希码值

//Demo1_HashCode
public class Demo1_HashCode {
    public obj1 = new  Object();
    int hashCode =obj1.hashCode();
    System.out.println(hashCode);
}

//native本地资源
//按住Ctrl点击方法名,查看源代码。【eclipse】
//Ctrl + alt + 下键 向下复制一行。【eclipse】

getclass()方法,返回此对象Object的运行时子类

Class clazz = s.getClass();//获取该对象的字节码文件

toString()方法 返回对象的字符串表示形式

直接使用没有什么用处,一般使用是类去重写这个方法。

toString方法的作用:可以更方便的显示属性值。

getXXX方法是为了获取值,可以显示也可以赋值,或做其他操作。

如果一个类中是有toString方法的,其对象在打印的时候就会直接使用toString方法打印。

System.out.println(s.toString());
System.out.println(s);

equals()方法 指示一些其他对象是否等于此。

所谓的相等是指:地址值的相等

Object中的equals方法是比较对象的地址值的,没有什么意义,我们需要重写他

因为在开发中我们通常比较的是对象中的属性值,我们认为相同属性是同一个对象,这样我们就需要重写equals方法。

String类里面的equals是比较字符串里面的序列,也就是值。

public boolean equals(Object obj) {//多态
    Student s = (Student)obj;//向下转型
    return this.name.equals(s.name) && this.age == s.age;
}
//基本数据类型就直接用比较符,不调用方法比较

面试题:== 和equals方法的区别

共同点:都可以用来做比较,返回值都是boolean

区别:

  1. ==号是比较运算符,既可以比较基本数据类型,也可以比较引用数据类型,基本数据类型比较的是指,引用数据类型比较的是地址值。
  2. equals方法只能比较的是引用数据类型,equals在没有重写之前,比较的是地址值,底层依赖的是 ==号,但是比较地址值是没有意义的,我们需要重写equals方法,比较对象中的属性值。

jdk8中文在线文档

本文链接:

https://heyzen.club/index.php/J/231.html
1 + 6 =
快来做第一个评论的人吧~